1.类:我们得先认识什么是类,类是一个模板,它描述一类对象的行为和状态(这里的对象指的是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等)。就类似于c语言里面的结构体,类里面定义成员属性和成员方法,类似于这种:
class Data {
public int x;
public int y;
public int getX() {
return x;
}
public int getY() {
return y;
}
}
上面就是一个Data的类,而x和y就是成员变量,下面getX和getY就是成员方法。
2.构造方法:每个类都有一个构造方法,而且构造方法有且仅调用一次,相当于可以认为初始化成员变量,没写构造方法的话系统会自动帮你写好,只不过不会显现出来,也可以自己写,建议最好自己写上,让代码更安全,下面就是Data的构造方法:
public Data() {
}
没错,里面什么都不用写,都会给成员变量赋默认值,字符类型的是null,数据类型的是0,boolean类型的是false,当然也可以写,可以自己赋一个值,例如:
public Data() {
x = 10;
y = 18;
}
这样写好的话,x,y的初始值就是10和18了,然后就是可以传参的构造方法,如下:
public Data(int x, int y) {
x = x;
y = y;
}
但是你这么写,会发现x和y都是0,并没有赋值,还是默认值,这是因为全局变量和局部变量相同,优先使用局部变量的缘故,所有要使用this这个关键字来修饰全局变量,如下:
public Data(int x, int y) {
this.x = x;
this.y = y;
}
这样就赋值成功了,所以更建议全局变量都带上this来引用,更安全,this表示类实例本身,this的用法:(1)表示对当前对象的引用;(2)表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名时进行区分;(3)用于在构造方法中引用满足指定参数类型的构造器。类似于类名的简写,调用类中的方法传参也是传类名的实参过来,然后this接收,this指当前调该类的对象。
this的五个特性:
- this的类型:那个对象调用,就是哪个对象的引用类型
- this只能在成员方法中使用
- 在成员方法中,this只能引用当前对象,不能再引用其它对象,具有final属性
- this是成员方法第一个隐藏的参数,编译器会自动传递
- this不能为空!!!