面向对象02
1.构造方法:构造函数、构造器-------------给成员变量赋初值以减少代码复用
-
语法:与类同名,没有返回值类型(不是void,void是空)
快捷键:Alt+Insert:constructor
public class Demo { int a; String b; //利用构造方法给成员变量(实例变量)赋初值 public Demo() { this.a = 1; this.b = "hh"; } } //可以传参,再new时赋值 public Demo(int a, String b) { this.a = a; this.b = b; }
-
调用:创建(new)对象时自动调用
Demo demo = new Demo(1,"a");
如果没有写构造方法,系统会在new对象时默认调用一个无参构造,写了就不会默认提供
-
构造方法可以重载
public Demo() { this.a = 1; this.b = "hh"; } public Demo(int a, String b) { this.a = a; this.b = b; } //系统调用会根据参数列表(方法签名)自动调用
2.this:指代当前对象,哪个对象调用就是哪个对象
只能用在方法中,方法中访问成员变量之前默认有个this
补充:static方法中没有this
this的用法:
this.成员变量名----------------------访问成员变量
(当成员变量与局部变量同名时,若想访问成员变量则this不能省略)
this.方法名()---------------------------调用方法(一般不用-----------了解)
this()-------------------------------------调用构造方法(一般不用-----了解)
3.null
null:表示空,没有指向任何对象。
若引用的值为null,则该引用不能进行任何点操作了,若操作则发生NullPointerException空指针异常。