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/