类的定义方式:
在java中,类的定义用到class关键字:
class ClassName{
field;
method;
}
在类的内部,包含类的成员以及类的成员方法。
class Dog{ //定义一个 狗 类
public String name; //狗 的名字
public int age; //狗 的年龄
public String color; //狗 的颜色
public void eat(){ //狗吃东西
System.out.println("骨头");
}
public void bark(){ //狗叫
System.out.println("汪汪汪");
}
}
以上面狗类作为例子,狗的 名字,年龄,颜色 为该类的成员;狗 吃东西,叫 则为该类的成员方法。
类的实例化:
类,仅仅是一个模型,通过类可以实例化出多个对象。我们可以将类看作是一个设计图,按照设计图所构造出来的东西看作对象。类只是一个设计,按照类的设计实例化出的对象才能实际存储数据。
对象的构造及初始化
我们知道,在Java内部定义局部变量时,要进行初始化。当我们创建好对象之后,在使用该对象之前,就要对对象进行初始化。初始化的方法有很多种:
class Dog{
public String name;
public int age;
public String color;
public void satDog(String name,int age,String color){
this.name=name;
this.age=age;
this.color=color;
}
我们可以通过这样的方式,在类中定义一个satDog方法,用它来给类中成员进行赋值,但每次这样赋值多少有些繁琐,在类中,有一种特殊的成员方法,构造方法,也能够为类中的成员进行赋值。
构造函数,其名字必须与类名相同,在创建对象时,由编译器自动调用,并且在整个对象的生命周期中只调用一次。要注意一点,构造函数没有返回值类型!!
class Dog{
public String name;
public int age;
public String color;
public Dog(String name,int age,String color){
this.name=name;
this.age=age;
this.color=color;
}
public void print(){
System.out.println(" name:"+this.name);
System.out.println(" age:"+this.age);
System.out.println(" color"+this.color);
}
}
public static void main(String[] args) {
Dog dog1=new Dog("小白",3,"白色");
dog1.print();
}
构造函数可以进行重载。当类中用户没有定义构造函数时,编译器会自动为该类默认生成一份没有参数的构造函数。如果用户定义了自己的构造函数,编译器将不会默认生成无参数构造函数。
class Dog{
public String name;
public int age;
public String color;
public Dog(String name,int age,String color){
this.name=name;
this.age=age;
this.color=color;
}
public Dog(){ //与上面那条有参数的构造函数形成重载!
System.out.println("这是个没有参数的构造函数!");
}
}
默认初始化
有一点需要注意,当对象空间被申请好之后,对象中包含的成员已经设置好了初始值。
?
|