构造函数到底是干什么的?


恳请知道的大神讲解下java中构造函数的作用到底是干嘛的,最好是结合代码给我进行下指点。
我是一个小小菜鸟,跪求大神讲解。

2 个解决方案

#1


构造函数是类的一个特殊方法,这个方法用来生成实例时由系统自动调用,程序员无法直接调用。构造函数方法名同类名相同且参数为空。子类继承父类后默认继承父类的构造函数,即:子类存在隐含方法: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()。

#2


膜拜~~虽然还是似懂非懂嘿嘿
大神,你在一开始初学代码的时候什么状态啊,可以分享下嘛?
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告