博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【PHP】【java】执行父类构造函数之间的差异
阅读量:4493 次
发布时间:2019-06-08

本文共 1496 字,大约阅读时间需要 4 分钟。

  • PHP,如果子类有构造函数,就不会再去调用父类的构造函数,如果子类的构造函数为空,则取调用父类的,如果父类的构造函数为空,那就调取父类的父类构造函数,以此类推,直接到默认的构造函数
  • JAVA,子类总是调用父类的构造函数,不管子类是否有构造函数(一般都有),如果子类没有调用父类的构造函数的代码,那默认调用的是父类的无参数的构造函数(隐式调用),如果是多重继承,隐式调用就会很长

*** 附上测试代码 ***

class BaseClass {    BaseClass() {        System.out.println("HELLO");    }}class SuperClass extends BaseClass{    private int n;    SuperClass(){        System.out.println("SuperClass()");    }    SuperClass(int n) {        System.out.println("SuperClass(int n)");        this.n = n;    }}// SubClass 类继承class SubClass extends SuperClass{    private int n;    SubClass(){ // 自动调用父类的无参数构造器        System.out.println("SubClass");    }    public SubClass(int n){        super(300);  // 调用父类中带有参数的构造器        System.out.println("SubClass(int n):"+n);        this.n = n;    }}// SubClass2 类继承class SubClass2 extends SuperClass{    private int n;    SubClass2(){        super(300);  // 调用父类中带有参数的构造器        System.out.println("SubClass2");    }    public SubClass2(int n){ // 自动调用父类的无参数构造器        System.out.println("SubClass2(int n):"+n);        this.n = n;    }}public class TestSuperSub{    public static void main (String args[]){        System.out.println("------SubClass 类继承------");        SubClass sc1 = new SubClass();        SubClass sc2 = new SubClass(100);        System.out.println("------SubClass2 类继承------");        SubClass2 sc3 = new SubClass2();        SubClass2 sc4 = new SubClass2(200);    }}

注:java测试代码部分引用菜鸟教程(特此说明)

转载于:https://www.cnblogs.com/china-flint/p/11389584.html

你可能感兴趣的文章
[原创]我的WCF之旅(4):WCF中的序列化(Serialization)- Part I - Artech - 博客园
查看>>
4-8
查看>>
测试用例设计白皮书--测试用例设计综合策略
查看>>
iView 实战系列教程(21课时)_4.iView 实战教程之布局篇(二)
查看>>
20150501 调试分析之 修改内核来定位系统僵死问题
查看>>
【7集iCore3基础视频】7-3 iCore3硬件介绍
查看>>
数据库基础
查看>>
C 标准库 - string.h之strcat使用
查看>>
scikit-learn Quick Start
查看>>
剑指:不分行从上往下打印二叉树
查看>>
win8如何设置以管理员身份运行
查看>>
Linked List Cycle II
查看>>
深度学习——结构化机器学习项目(学习策略2)[9]
查看>>
P - Shopaholic
查看>>
21.tail命令
查看>>
JAVA的非对称加密算法RSA——加密和解密
查看>>
VS2019调试 asp.net core 2.2 出现《ANCM In-Process Handler Load Failure 发布后启动错误处理》处理...
查看>>
Hibernate(一)
查看>>
[LeetCode] 245. Shortest Word Distance III 最短单词距离 III
查看>>
黑马程序员_JavaIO流(二)
查看>>