1.使用this关键字调用构造函数之间的构造方法
构造函数调用本类另外一个构造函数的方法this(参数1...) this()调用的是本类的无参构造方法
Person.java
package cn.huhui.demo01;
public class Person {
private String nmae;
private int age;
/*
* 使用this关键字调用构造函数之间的构造方法
* this(参数1,...)
*
*/
public Person() {
this("张三", 20);
}
public Person(String nmae, int age) {
this.nmae = nmae;
this.age = age;
}
public String getNmae() {
return nmae;
}
public void setNmae(String nmae) {
this.nmae = nmae;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
test.java
package cn.huhui.demo01;
public class Test {
public static void main(String[] args) {
Person p =new Person();
Person p1 =new Person("胡辉", 21);
System.out.println("name:"+p.getNmae());
System.out.println("age:"+p.getAge());
System.out.println("name:"+p1.getNmae());
System.out.println("age:"+p1.getAge());
}
}
2.调用父类构造方法的方式
子类中使用super关键字调用父类的构造方法
super()调用的是父类的无参构造方法
super(参数)调用的是父类的有参构造方法
子类中有一种默认的构造方法
注意:子类构造方法的第一行,有一行隐式代码super()
子类的构造方法第一行super语句,调用父类的构造方法
package cn.huhui.demo02;
public class Person {
int a=1;
public Person() {
System.out.println("父类构造方法打印");
a=5;
}
}
package cn.huhui.demo02;
/*
* 子类中,super()的方式,调用父类的构造方法
* super()调用的是父类的无参构造方法
* super(参数)调用的是父类的有参构造方法
* 子类的构造方法有一种默认的构造方法
* 注意:子类构造方法的第一行,有一个隐式代码super()
* public Student(){
* super();
* }
* 子类的构造方法第一行super语句,调用父类的构造方法
*/
public class Student extends Person {
public Student(){
}
}
package cn.huhui.demo02;
public class Test {
public static void main(String[] args) {
new Student();
System.out.println(new Student().a);
}
}
this和super关键字(2):http://blog.csdn.net/qq_36781237/article/details/78390944