java 构造方法

1.当一个类里面没有定义任何构造方法的时候,系统会自动添加一个没有参数的空的构造方法;

但是当用户自己添加了构造方法之后,系统就不会添加任何构造方法了. 

2.可以定义和构造方法名字相同的函数,但是必须有返回值。(面试可能会有的) 

3.子类的构造方法必须调用父类的构造方法,使用super(参数);而且必须写在子类构造方法的第一行;

4.使用this(参数)调用本类的其他构造方法;

5.如果子类没有显示的调用父类构造方法,则系统默认调用父类无参数构造方法;

6.如果子类既没有显示调用父类的构造方法,而父类也没有无参的构造方法,编译出错;

 

 1 public class TestConstruct extends Father{
 2     
 3     TestConstruct(){
 4         print("Son");//这里不写super,会默认调用父类的无参构造函数
 5     }
 6     
 7     public void f(){//对父类的重写
 8         print("Son:f()");
 9     }
10 
11     public static void main(String[] args) {
12         // TODO Auto-generated method stub
13         TestConstruct son = new TestConstruct();
14         son.f();
15     }
16 
17 }
18 
19 class Father {    
20     protected void print(String s){
21         System.out.println(s);
22     }
23     Father(){
24         print("Father");
25     }
26     
27     public void f(){
28         print("father:f()");
29     }
30 }

 

 

 

输出:

 

Father
Son
Son:f()

 

 

http://www.9lianhuan.cn/2015/07/04/java%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0/

posted @ 2013-01-02 20:55  firerdong  阅读(204)  评论(0编辑  收藏  举报