1.子类继承父类,那么子类继承了父类的成员变量和成员方法,例如name和age
2.当子类和父类中拥有相同名字的非静态成员变量,那么分别独自管理。特别的,当子类引用指向父类对象的时候
package leetcode.editor.cn;
class Text111 {
String person;
String name;
int age;
public Text111 (){
this.person="父类构造器大学生";
this.name="父类构造器陈涛";
this.age=40;
}
public Text111(String person,String name,int age){
this.person=person;
this.name=name;
this.age=age;
}
public void fu() {
System.out.println("person:"+this.person+" name:"+this.name+" age:"+this.age);
}
public void methodZi() {
System.out.println("父类方法,子类将重写");
}
}
class child extends Text111{
String person;
child(){
this.person="子类构造器大学生";
}
child(String person,String name,int age){
this.person=person;
this.name=name;
this.age=age;
}
public void voidZi() {
System.out.println("person:"+this.person+" name:"+this.name+" age:"+this.age);
}
public void voidFu() {
System.out.println("person:"+super.person+" name:"+super.name+" age:"+super.age);
}
public void methodZi() {
System.out.println("子类重写方法");
}
}
public class test{
public static void main(String[] args) {
System.out.println("~~~调用有参构造函数~~~~");
child a=new child("有参构造大学生","陈涛",13);//调用有参构造方法复制
System.out.println(a.person);
//有参构造学生
a.voidZi();
//有参构造学生,陈涛,13
a.voidFu();
//父类构造器大学生,陈涛,13
a.fu();
a.methodZi();
//父类构造器大学生,陈涛,13
System.out.println("~~~调用无参构造函数~~~~");
child b=new child();
//调用无参构造构造方法
System.out.println(b.person);
//子类构造器大学生
b.voidZi();
//子类构造器大学生,父类构造器陈涛,40
b.voidFu();
//父类构造器大学生,父类构造器陈涛,40
b.fu();
//父类构造器大学生,父类构造器陈涛,40
System.out.println("~~~调用无参构造函数,子类引用指向父类~~~~");
Text111 c=new child();//调用无参构造构造方法,子类引用指向父类
System.out.println(c.person);
c.fu();
c.methodZi();
//父类构造器大学生,父类构造器陈涛,40
System.out.println(c.person);
//父类构造器大学生
System.out.println("~~~调用有参构造函数,子类引用指向父类~~~~");
Text111 d=new child("学生","涛",13);//调用有参构造方法
System.out.println(d.person);
//父类构造器大学生
d.fu();
//父类构造器大学生;涛;13
d.methodZi();
}
}
运行结果:
~~~调用有参构造函数~~~~
有参构造大学生
person:有参构造大学生 name:陈涛 age:13
person:父类构造器大学生 name:陈涛 age:13
person:父类构造器大学生 name:陈涛 age:13
子类重写方法
~~~调用无参构造函数~~~~
子类构造器大学生
person:子类构造器大学生 name:父类构造器陈涛 age:40
person:父类构造器大学生 name:父类构造器陈涛 age:40
person:父类构造器大学生 name:父类构造器陈涛 age:40
~~~调用无参构造函数,子类引用指向父类~~~~
父类构造器大学生
person:父类构造器大学生 name:父类构造器陈涛 age:40
子类重写方法
父类构造器大学生
~~~调用有参构造函数,子类引用指向父类~~~~
父类构造器大学生
person:父类构造器大学生 name:涛 age:13
子类重写方法