public class ExtendsSuperAndThis {
public static void main(String[] args) {
// TODO Auto-generated method stub
Father f = new Father();//我是父类中的无参数构造方法
Son s = new Son();// 我是父类中的无参数构造方法 ,我是子类中的无参数构造方法 默认调用父类 中无参数构造方法。
System.out.println(f.name);//张三
System.out.println(s.name);//李四
s.say();//我是李四,张三他儿子
f.say();//我是张三
Son s1 = new Son("hello",70);//调用父类中有参数的构造方法:我是父类中的有参数构造方法,我是子类中的有参数构造方法2
}
}
class Father{
String name = "张三";
String add;
double height;
double weight;
public void say() {
System.out.println("我是张三");
}
public Father() {
super();
System.out.println("我是父类中的无参数构造方法");
}
public Father(String name, String add, double height, double weight) {
super();
this.name = name;
this.add = add;
this.height = height;
this.weight = weight;
System.out.println("我是父类中的有参数构造方法");
}
}
class Son extends Father{
String name = "李四";
String add;
double height;
double weight;
String school;
public void say() {
System.out.println("我是李四,张三他儿子");
}
public Son() {
super();
System.out.println("我是子类中的无参数构造方法");
}
public Son(String school) {
this();//调用本参数中的构造方法
this.school = school;
System.out.println("我是子类中的有参数构造方法1");
}
public Son(String school,double weight) {
super("王五","北京",180,60);
this.school = school;
this.weight = weight;
System.out.println("我是子类中的有参数构造方法2");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Father f = new Father();//我是父类中的无参数构造方法
Son s = new Son();// 我是父类中的无参数构造方法 ,我是子类中的无参数构造方法 默认调用父类 中无参数构造方法。
System.out.println(f.name);//张三
System.out.println(s.name);//李四
s.say();//我是李四,张三他儿子
f.say();//我是张三
Son s1 = new Son("hello",70);//调用父类中有参数的构造方法:我是父类中的有参数构造方法,我是子类中的有参数构造方法2
}
}
class Father{
String name = "张三";
String add;
double height;
double weight;
public void say() {
System.out.println("我是张三");
}
public Father() {
super();
System.out.println("我是父类中的无参数构造方法");
}
public Father(String name, String add, double height, double weight) {
super();
this.name = name;
this.add = add;
this.height = height;
this.weight = weight;
System.out.println("我是父类中的有参数构造方法");
}
}
class Son extends Father{
String name = "李四";
String add;
double height;
double weight;
String school;
public void say() {
System.out.println("我是李四,张三他儿子");
}
public Son() {
super();
System.out.println("我是子类中的无参数构造方法");
}
public Son(String school) {
this();//调用本参数中的构造方法
this.school = school;
System.out.println("我是子类中的有参数构造方法1");
}
public Son(String school,double weight) {
super("王五","北京",180,60);
this.school = school;
this.weight = weight;
System.out.println("我是子类中的有参数构造方法2");
}
}