标签:
1.子类无构造函数,超类无构造函数,创建的无参数的对象:
编译通过。
1 class A 2 { 3 4 } 5 6 class B extends A 7 { 8 9 } 10 public class Testeeer 11 { 12 public static void main(String [] args) 13 { 14 B b_01=new B(); 15 } 16 }
2.子类有无参数构造函数,超类无构造函数,创建的无参数的对象:
运行结果:
调用了B的无参构造函数
1 class A 2 { 3 4 } 5 class B extends A 6 { 7 public B() 8 { 9 System.out.println("调用了B的无参构造函数"); 10 } 11 } 12 13 public class Testeeer 14 { 15 public static void main(String [] args) 16 { 17 B b_01=new B(); 18 19 } 20 }
3.子类无构造函数,超类有无参数构造函数,创建的无参数的对象:
运行结果:
调用了A的无参构造函数
1 class A 2 { 3 public A() 4 { 5 System.out.println("调用了A的无参构造函数"); 6 } 7 } 8 class B extends A 9 { 10 11 } 12 13 public class Testeeer 14 { 15 public static void main(String [] args) 16 { 17 B b_01=new B(); 18 19 } 20 }
4.子类有无参数构造函数,超类有无参数构造函数,创建的无参数的对象:
运行结果:
调用了A的无参构造函数
调用了B的无参构造函数
1 class A 2 { 3 public A() 4 { 5 System.out.println("调用了A的无参构造函数"); 6 } 7 } 8 class B extends A 9 { 10 public B() 11 { 12 System.out.println("调用了B的无参构造函数"); 13 } 14 } 15 16 public class Testeeer 17 { 18 public static void main(String [] args) 19 { 20 B b_01=new B(); 21 22 } 23 }
5.子类无构造函数,超类无构造函数,创建的有参数的对象:
编译不成功:
1 class A 2 { 3 4 } 5 6 class B extends A 7 { 8 9 } 10 11 public class Testeeer 12 { 13 public static void main(String [] args) 14 { 15 16 B b_02=new B("你好"); 17 } 18 }
6.子类有无参数构造函数,超类无构造函数,创建的有参数的对象:
编译不成功:
1 class A 2 { 3 4 } 5 6 class B extends A 7 { 8 public B() 9 { 10 System.out.println("调用了B的无参构造函数"); 11 } 12 } 13 14 public class Testeeer 15 { 16 public static void main(String [] args) 17 { 18 19 B b_02=new B("你好"); 20 } 21 }
7.子类无构造函数,超类有无参数构造函数,创建的有参数的对象:
编译不成功:
1 class A 2 { 3 public A() 4 { 5 System.out.println("调用了A的无参构造函数"); 6 } 7 } 8 9 class B extends A 10 { 11 12 } 13 14 public class Testeeer 15 { 16 public static void main(String [] args) 17 { 18 19 B b_02=new B("你好"); 20 } 21 }
8.子类有无参数构造函数,超类有无参数构造函数,创建的有参数的对象:
编译不成功:
1 class A 2 { 3 public A() 4 { 5 System.out.println("调用了A的无参构造函数"); 6 } 7 } 8 9 class B extends A 10 { 11 public B() 12 { 13 System.out.println("调用了B的无参构造函数"); 14 } 15 } 16 17 public class Testeeer 18 { 19 public static void main(String [] args) 20 { 21 22 B b_02=new B("你好"); 23 } 24 }
9.子类有有参数构造函数,超类无构造函数,创建的有参数的对象:
编译成功;
运行结果:
1 class A 2 { 3 4 } 5 class B extends A 6 { 7 8 public B(String mess) 9 { 10 System.out.println("调用了B的有参构造函数\n"+ 11 "参数内容为:"+mess); 12 } 13 14 } 15 16 public class Testeeer 17 { 18 public static void main(String [] args) 19 { 20 B b_02=new B("你好"); 21 } 22 }
10.子类有有参数构造函数,超类有有参数构造函数,创建的有参数的对象:
编译失败:
1 class A 2 { 3 public A(String mess) 4 { 5 System.out.println("调用了A的有参构造函数\n"+ 6 "参数内容为:"+mess); 7 } 8 } 9 class B extends A 10 { 11 12 public B(String mess) 13 { 14 System.out.println("调用了B的有参构造函数\n"+ 15 "参数内容为:"+mess); 16 } 17 18 } 19 20 public class Testeeer 21 { 22 public static void main(String [] args) 23 { 24 B b_02=new B("你好"); 25 } 26 }
11.子类有有参数构造函数(首行定义super),超类有有参数构造函数,创建的有参数的对象:
编译成功;
运行结果:
1 class A 2 { 3 public A(String mess) 4 { 5 System.out.println("调用了A的有参构造函数\n"+ 6 "参数内容为:"+mess); 7 } 8 } 9 class B extends A 10 { 11 12 public B(String mess) 13 { 14 super(mess); 15 System.out.println("调用了B的有参构造函数\n"+ 16 "参数内容为:"+mess); 17 } 18 19 } 20 21 public class Testeeer 22 { 23 public static void main(String [] args) 24 { 25 B b_02=new B("你好"); 26 } 27 }
标签:
原文地址:http://www.cnblogs.com/lubocsu/p/5096952.html