02构造方法的作用

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

例一:  
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()。  
  
1.首先明白构造函数的定义,如下:  
java 构造函数  
一般我们讲的“函数”就是“方法”;构造函数=构造方法;构造方法是一种特殊的方法,具有以下特点。
(1)构造方法的方法名必须与类名相同。
(2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
(4)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
(5)构造方法可以重载,以参数的个数,类型,或排列顺序区分。

   2.请注意这句话:(3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。 

你可能感兴趣的:(02构造方法的作用)