疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java类和对象


 

  如果大家要学JAVA,那你就必须了解类和对象的关系,,因为JAVA一个主要的特性就是面向对象。。

  先看一下类和对象的概念:(其实在学校很讨厌这些概念的)

  对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

  类:类是一个模板,它描述一类对象的行为和状态。

  来例子吧,,coding............

  既然类是描述一类对象的行为和状态,那么我们将这类对象选定为“狗”。 正如上边对对象的解释:一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。在下边的代码中,我创建了两个对象即两条狗,他们的名字叫“Tom”和“Luxi”;他们颜色一个是黑色一个是白色;他们的年龄一个是2岁一个是1岁;当然了他们都是狗,都有摇尾巴、叫、吃的行为。

  public class dog {

  // 定义狗的年龄

  private static String name;

  // 定义狗的年龄

  private static int age;

  // 狗的行为跑

  public void run() {

  System.out.println("这条狗跑的很快");

  }

  // 狗的行为叫

  public void jiao() {

  System.out.println("这条狗不太喜欢叫");

  }

  // 狗的行为摇尾巴

  public void yaoweiba() {

  System.out.println("这条狗摇尾巴来表达他的好感");

  }

  public static void main(String[] args) {

  // 创建一个狗的对象Tom

  dog Tomdog = new dog();

  // 定义这条狗的名字

  Tomdog.setName("Tom");

  // 定义这条狗的年龄

  Tomdog.setAge(2);

  // 输出名字

  Tomdog.getName();

  // 输出年龄

  Tomdog.getAge();

  // 定义这条狗的行为跑

  Tomdog.run();

  // 定义这条狗的行为叫

  Tomdog.jiao();

  // 定义这条狗的行为摇尾巴

  Tomdog.yaoweiba();

  // 创建另一条狗的对象Luxi

  System.out.println("-------------------------------");

  Tomdog.setName("Luxi");

  Tomdog.setAge(1);

  Tomdog.getName();

  Tomdog.getAge();

  }

  // get set 方法

  public static String getName() {

  System.out.println("这条狗的名字叫:" + name);

  return name;

  }

  public static void setName(String name) {

  dog.name = name;

  }

  public static int getAge() {

  System.out.println("这条狗的年龄是:" + age);

  return age;

  }

  public static void setAge(int age) {

  dog.age = age;

  }

  }

  运行结果:

  这条狗的名字叫:Tom

  这条狗的年龄是:2

  这条狗跑的很快

  这条狗不太喜欢叫

  这条狗摇尾巴来表达他的好感

  -------------------------------

  这条狗的名字叫:Luxi

  这条狗的年龄是:1

  再来说一下创建对象的步骤:

  对象是根据类创建的。在Java中,使用关键字new来创建一个新的对象。创建对象需要以下三步:

  声明:声明一个对象,包括对象名称和对象类型。

  private static dog luxidog;

  private static dog tomdog;

  实例化:使用关键字new来创建一个对象。

  tomdog = new dog("Tom", 2);

  luxidog = new dog("Luxi", 1);

  初始化:使用new创建对象时,会调用构造方法初始化对象。

  tomdog = new dog("Tom", 2);

  luxidog = new dog("Luxi", 1);

  看下边的代码:

  public class dog {

  // 定义狗的年龄

  private String name;

  // 定义狗的年龄

  private Integer age;

  // 声明对象luxidog

  private static dog luxidog;

  // 声明对象tomdog

  private static dog tomdog;

  // 构造器

  public dog(String name, Integer age) {

  super();

  this.name = name;

  this.age = age;

  System.out.println("这条狗的名字是:" + name + ",年龄是:" + age);

  }

  // 狗的行为跑

  public void run() {

  System.out.println("这条狗跑的很快");

  }

  // 狗的行为叫

  public void jiao() {

  System.out.println("这条狗不太喜欢叫");

  }

  // 狗的行为摇尾巴

  public void yaoweiba() {

  System.out.println("这条狗摇尾巴来表达他的好感");

  }

  public static void main(String[] args) {

  // 实例化初始化Tom狗

  tomdog = new dog("Tom", 2);

  // 定义这条狗的行为跑

  tomdog.run();

  // 定义这条狗的行为叫

  tomdog.jiao();

  // 定义这条狗的行为摇尾巴

  tomdog.yaoweiba();

  System.out.println("-------------------------------");

  // 实例化初始化Luxi狗

  luxidog = new dog("Luxi", 1);

  // 定义这条狗的行为跑

  luxidog.run();

  // 定义这条狗的行为叫

  luxidog.jiao();

  // 定义这条狗的行为摇尾巴

  luxidog.yaoweiba();

  }

  // get set 方法

  public String getName() {

  return name;

  }

  public void setName(String name) {

  this.name = name;

  }

  public int getAge() {

  return age;

  }

  public void setAge(int age) {

  this.age = age;

  }

  }

  运行结果为:

  这条狗的名字是:Tom,年龄是:2

  这条狗跑的很快

  这条狗不太喜欢叫

  这条狗摇尾巴来表达他的好感

  -------------------------------

  这条狗的名字是:Luxi,年龄是:1

  这条狗跑的很快

  这条狗不太喜欢叫

  这条狗摇尾巴来表达他的好感