Java 学习笔记-继承-构造方法调用

有些东西虽然简单,但是也稍微整理以便记忆。

 

关于类的继承与构造方法的调用。

当subclass的构造方法没有显式的调用supclass的某个构造方法时,就会隐式的调用supclass的无参构造方法,

当显式的调用了supclass的某个构造方法时就不再隐式的调用supclass的无参方法。

 

然而如果此时supclass没有显式的无惨构造方法:

1. 如果supclass有其他构造方法(也就是包含参数的构造方法),subclass便会出现编译错。

package inheritance;

public class Superclass {

//    public Superclass() {
//        System.out.println("Super: No parameter.");
//    }

    public Superclass(int i) {
        System.out.println("Super: " + i);
    }

    public static void main(String[] args) {
        Subclass s = new Subclass(5);
    }

}

class Subclass extends Superclass {

    public Subclass(int i) { // compiling error.
        System.out.println("Sub: " + i);
    }

}

 2.如果没有其他构造方法(也就是supclass没有显式的构造方法)此时subclass会隐式的调用supclass的默认构造方法,也就是无参构造函数。

 

package inheritance;

public class Superclass extends SuperSupClass{

//    public Superclass() {
//        System.out.println("Super: No parameter.");
//    }

//    public Superclass(int i) {
//        System.out.println("Super: " + i);
//    }

    public static void main(String[] args) {
        Subclass s = new Subclass(5);
    }

}

class Subclass extends Superclass {

    public Subclass(int i) {
        System.out.println("Sub: " + i);
    }

}

class SuperSupClass{
    public SuperSupClass(){
        System.out.println("Super Super Class .");
    }
}

  此时运行main方法将得到结果:

   Super Super Class .

    Sub: 5

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值