级联调用:

classFather{

Father(){

System.out.println("Father birth");

}public voidannounce(){

System.out.println("Father");

}

}class Child extendsFather{

Child(){

System.out.println("Child birth");

}

@Overridepublic voidannounce(){

System.out.println("Child");

}

}public classHello {public static voidmain(String[] args){

Child child=newChild();

}

}

上述代码的执行结果如下:

Father birth

Child birth

我们可以看到,先执行了父类的构造器,然后执行子类的构造器。因此我们可以理解级联调用。

级联调用指继承关系中子类构造器调用时会默认调用父类无参构造器作为子类构造器的第一句,除非子类构造器在第一句时显式的调用父类的其他构造器。

需要说明的是,子类构造器第一句以外位置不能对父类构造器进行调用。

调用兄弟构造器:

classTest{

Test(){

System.out.println("Default initialize");

}

Test(inti){this();

System.out.println("I have "+i+" as a parameter.");

}

}public classHello {public static voidmain(String[] args){

Test test=new Test(5);

}

}

上述代码中的this就是一个调用兄弟构造器的例子,此处和级联调用类似,必须把调用语句放置在构造器的第一行。执行结果如下:

Default initialize

I have 5 as a parameter.

Java严格的级联调用,兄弟调用顺序,保证了程序的易读性和规范性,并且方便了编译器对其进行实现。另外一旦使用了this()方法放置在第一行去调用兄弟构造器,则不再调用默认的无参父类构造器,而由调用的兄弟构造器去调用无参父类构造器,换言之,推迟了无参父类构造器的调用。

java级联_Java构造器:级联调用,调用兄弟构造器相关推荐

  1. java来电_JAVA来电显示接口调用代码实例

    代码描述:基于JAVA的来电显示接口调用代码实例 关联数据:手机固话来电显示 接口地址:http://www.juhe.cn/docs/api/id/72 import java.io.Buffere ...

  2. dofilter在java中_java – doFilter没有被调用

    你能帮忙检查为什么doFilter没有被调用 web.xml中: log4jConfigLocation /WEB-INF/log4j.properties org.springframework.w ...

  3. 整理sqlserver 级联更新和删除 c#调用存储过程返回值

    整理一下级联更新和删除 c#调用返回值 use master go IF exists(select 1 from sysdatabases where name='temp') BEGIN DROP ...

  4. java静态初始化块无法直接调用,关于JAVA静态初始化块,初始化块,构造器调用顺序的有关问题...

    关于JAVA静态初始化块,初始化块,构造器调用顺序的问题 一个简单的关于初始化块,静态初始化块,构造器的执行顺序的小例子,请大家参考: 父类如下: package test.jamin; /** * ...

  5. java并发调用_Java并发教程–可调用,将来

    java并发调用 从Java的第一个发行版开始,Java的美丽之处之一就是我们可以轻松编写多线程程序并将异步处理引入我们的设计中. Thread类和Runnable接口与Java的内存管理模型结合在一 ...

  6. java 存储过程_Java 调用存储过程

    本文阐述了怎么使用DBMS存储过程.我阐述了使用存储过程的基本的和高级特性,比如返回ResultSet.本文假设你对DBMS和JDBC已经非常熟悉,也假设你能够毫无障碍地阅读其它语言写成的代码(即不是 ...

  7. java调用驱动_Java中间件及其驱动调用、加载方法及转换装置的制造方法

    Java中间件及其驱动调用.加载方法及转换装置的制造方法 [技术领域] [0001]本发明涉及移动通信技术领域,尤其涉及Java中间件及其驱动调用.加载方法及转换装置. [背景技术] [0002]Ja ...

  8. 关于自定义异常中为什么带参构造器需要显示调用父类异常的带参构造器

    在听课的时候听到自定义异常时,视频上讲的定义异常的时候如果是带参构造器需要显示调用父类异常的带参构造器,原因是什么呢? 首先我们需要看一下Exception和ERROR的父类Throwable的源码: ...

  9. java构造函数调用其他程序的顺序,java关于继承中构造函数的调用顺序

    public class Constraction_Test { /** * 在java中用子类去创建一个对象的时候会首先调用父类的无参构造函数 * 然后再去调用自己的构造函数 * @param ar ...

最新文章

  1. 使用Python和OpenCV进行文本偏斜校正
  2. 目标跟踪之卡尔曼滤波---理解Kalman滤波的使用
  3. Excel:如何使用函数实现多表多条件汇总求和
  4. c mysql 时间段查询_mySql 时间段查询
  5. java消息通信_原生 Java 客户端进行消息通信
  6. 开发高性能的ADO.NET应用
  7. java通信项目_Java项目中的多线程通信如何利用Socket实现
  8. 半导体基础知识 二极管
  9. john破解kali密码
  10. C语言结构体struct LNode *p ,LNode *p ,Linklist p
  11. IT男改变生活之12306选择上,中,下铺
  12. QQ开放平台地址 http://open.qq.com/
  13. DAC7724数模转换芯片小结
  14. Python 获取LOL皮肤
  15. 标准模板库(STL)介绍
  16. spring定时任务需要在项目启动时执行一次
  17. Win10安装打印机驱动搜索不到打印机
  18. Android 6.0以下检测摄像头权限
  19. 三联动 支持ie6,ie7 省,市,区
  20. 使用GitHub分享代码

热门文章

  1. vmware设置静态ip地址
  2. Google earth engine(GEE):基于MODIS的LST(地表温度数据)计算一定时间序列的城市热岛强度(UHI),并绘制直方图
  3. python +appium实现原理_Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)...
  4. 中国互联网公司员工平均年龄出炉:平均年龄 27 到 33 岁
  5. 互联网日报 | 瑞幸咖啡股票6月29日停牌;B站举办十一周年演讲;Airbnb辟谣破产传闻...
  6. 计算机学风建设新闻稿,第十一届学风建设月动员大会新闻稿_
  7. 含protobuf程序运行时与libqgtk3.0.so冲突
  8. LabelImg 标注 yolo 数据 环境配置和预制标签 predefined_classes.txt 的使用 详解
  9. C#实战012:Excel操作-获取Excel某一行数据并存入数组
  10. yum search htppd 的意思