码迷,mamicode.com
首页 > 其他好文 > 详细

构造方法的继承和重载

时间:2015-11-12 17:33:32      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:

1.构造方法的重载是指同一个类中定义不同参数的多个构造方法,已完成不同情况下对象的初始化。

例如:

Point();
Point(x);
Point(x,y);

2.一个类的若干个构造方法之间可以相互调用,当类的构造方法需要调用另一个构造方法时,可以使用关键子 this();括号可以带参数或不带参数,并且这个调用语句必须是这个构造方法的第一个可执行语句。

例如:

技术分享
class Sun {
    Sun(int a){
     System.out.println("Hello this is week "+a);
      }
    Sun(){
      this(5); //调用另一个构造方法
    System.out.println("My name is Sun");
     }
   }

public class Test{
    public static void main(String args[]){
     Sun moon=new Sun();

    }


 }
运行结果:
Hello this is week 5
My name is Sun
this的用法

3.构造方法的继承

Java中子类可以继承父类的构造方法,构造方法的继承遵循以下的原则:

一.子类无条件的继承父类的无参数构造方法

二.对于带参数的父类的构造方法,子类可以在自己的构造方法中使用super关键字来调用它,但这个调用的语句必须是子类构造方法中的第一个可执行语句

三.如果子类中没有定义构造方法,则它将继承父类的无参数构造方法作为自己的构造方法(注意不是将父类的带参数的构造方法作为自己的构造方法)l如果子类定义了构造方法,则在创建对象时,将先执行来自继承父类的无参数构造方法,然后在执行自己的构造方法。

例如:

技术分享
class A{
    public A(){
        System.out.println("Hello A");
    }
}

class B extends A{
    public B(){
        System.out.println("Hello B");
    }
}

class C extends B{
    public C(){
        
        System.out.println("Hello C");
    }
}

public class Test {

    public static void main(String[] args) {
        C c=new C();
    }

}
构造方法的继承

 

构造方法的继承和重载

标签:

原文地址:http://www.cnblogs.com/ILoke-Yang/p/4957765.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!