A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© cain 中级黑马   /  2014-6-6 00:09  /  649 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造函数是类的一个特殊方法,这个方法用来生成实例时由系统自动调用,程序员无法直接调用。构造函数方法名同类名相同且参数为空。子类继承父类后默认继承父类的构造函数,即:子类存在隐含方法:super(),如果子类重写构造函数则子类也隐含调用super()。
如下例:

例一:
package sample;
public class A{
A(){
System.out.println("主类构造函数调用");
}
public static void main(String args[]){
  A g=new A();  
  subA s=new subA();  
}

}
class subA extends A{

}
执行结果为:
主类构造函数调用
主类构造函数调用
本例中子类subA中没有任何方法,所以隐含调用super(),super()指向A()。
例二:
package sample;
public class A{
A(){
System.out.println("主类构造函数调用");
}
public static void main(String args[]){
  A g=new A();  
  subA s=new subA();  
}

}
class subA extends A{
public subA(){
}
}
执行结果为:
主类构造函数调用
主类构造函数调用
本例中子类subA只有一个空方法suba()中没有任何方法,所以也隐含调用super(),super()指向A()。
例三:
package sample;
public class A{
A(){
System.out.println("主类构造函数调用");
}
public static void main(String args[]){
  A g=new A();  
  subA s=new subA();  
}

}
class subA extends A{
public subA(){
  System.out.println("子类构造函数调用");
}
}
执行结果为:
主类构造函数调用
主类构造函数调用
子类构造函数调用
本例中子类subA的方法subA()虽然后输出但同上例中相同都为构造函数,所以也隐含调用super(),super()指向A()。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马