Java继承中的构造方法

最近学java,在继承中的构造方法的调用上碰到一些问题,看到一篇不错的文章,转载。

  转载地址:http://mgc.name/article.asp?id=165

 

  继承中的构造方法:
1.子类的构造过程中必须调用其基类的构造方法;
2.子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法;
  如果调用super,必须写在子类构造方法的第一行;
3.如果子类的构造方法中没有显式调用基类构造方法,则系统默认调用基类无参数的构造方法;
4.如果子类构造方法中既没有显式调用基类构造方法,而基类中又没有无参的构造方法,则编译出错。
  --------开头的几句话立即解决了我的问题。

 

实例:

TestSuperSub.java:

 程序代码:

 1 import java.io.* ;
2
3 class SuperClass
4 {
5     private int n ;
6     SuperClass() {
7         System.out.println("SuperClass()") ;
8     }
9     SuperClass(int n) {
10         System.out.println("SuperClass(" + n + ")") ;
11         this.n = n ;
12     }
13 }
14 class SubClass extends SuperClass
15 {
16     private int n ;
17     SubClass() {
18         super(300) ;
19         System.out.println("SubClass()") ;
20     }
21     SubClass(int n) {
22         System.out.println("SubClass(" + n + ")") ;
23         this.n = n ;
24     }
25 }
26 public class TestSuperSub
27 {
28     public static void main(String args[]) {
29         SubClass sc1 = new SubClass() ;
30         SubClass sc2 = new SubClass(100) ;
31     }
32 }


  

posted @ 2011-10-26 22:13  Crazy Zidane  阅读(346)  评论(0编辑  收藏  举报