2018.3.22
构造方法(构造器Constructer):
创建的时候就给类的属性赋值赋值:
格式:修饰符 构造方法名(参数列表){
}(分为有参构造方法和无参构造方法)
注意:
1)方法的名字必须和类名完全相同!
2)构造方法不允许写返回值类型,void也不能写
作用:在new 的同时对成员变量赋值,给对象的初始化赋值
权限修饰符:public ,protect,private, default
定义:public Person (){ }
在构造方法里可以写语句判断循环
构造方法在new的时候就运行,并且只运行一次。
构造方法是每个类的必须内容,不写也是有的。
当编译的时候javac会自动检查类中是否有构造方法,
没有会自动添加一个默认构造方法。
New 对象的时候就是在调用对象的构造方法
构造方法细节:
1)一个类中的可以有多个构造方法,多个构造方法是以重载的形式存在;
2)构造方法是可以被private修饰的,作用:其他程序无法创建该类的对象
构造方法的重载特性:
参数列表不同;重载不关注修饰符
Public calss Person(){
Private String name;
Private int age;
方法的重载:
Pulic person (){
}
Public person (String name ,int age)
}
构造方法和一般方法的区别:
1)定义和执行
2)构造方法只自动运行一次(new对象的时候就调用)
3)一般方法可以new对象后运行多次
This关键字:
This可以在构造方法之间调用
This.的方式是区分局部变量和成员变量同名的情况
This()调用了其他的构造方法
Super()关键字:
创建子类对象时,父类的构造方法会先执行,子类中所有的构造方法的第一行有默认的隐藏式super();语句
格式:调用本类中的构造方法
This(实参列表);
调用父类中的空参构造方法{
Super();
}
调用父类中的有参构造方法
Super(实参列表)
子类中,super()的方式,调用父类的构造方法
Super()调用的是父类的空参构造
Super(参数)调用的是父类的有参构造方法
注意:子类中所有的构造方法,无论重载多少个,第一行必须是super()
Super()调用
Super:是指父类的存储空间(理解为父类的引用)
调用父类的成员变量:
Super,成员变量;
调用父类的构造器;
Super(参数);
调用方法的成员方法;
Super . 成员方法
Super(参数)和this(参数)不能同时存在