java继承的对象中构造函数的调用顺序
建立两个继承关系的对象
- public class Machine {
- public String machieNameString;
- public Machine() {
- System.out.println("Machine()");
- }
- public Machine(String name) {
- System.out.println("Machine(String name)");
- }
- public void execute() {
- System.out.println("机器指令..");
- }
- }
- public class RBGer extends Machine {
- public RBGer() {
- System.out.println("RBGer()");
- }
- public RBGer(String name){
- System.out.println("RBGer(String name)");
- }
- public void execute() {
- System.out.println("RBG指令执行..");
- }
- }
创建对象实例
- public static void main(String[] args) {
- System.out.println("Machine machine = new Machine();");
- Machine machine = new Machine();
- System.out.println("===========华丽的分割线===========");
- System.out.println("Machine machine2 = new Machine(\"0\");");
- Machine machine2 = new Machine("0");
- System.out.println("===========华丽的分割线===========");
- System.out.println("Machine rbger = new RBGer();");
- Machine rbger = new RBGer();
- System.out.println("===========华丽的分割线===========");
- System.out.println("Machine rbger2 = new RBGer(\"1\");");
- Machine rbger2 = new RBGer("1");
- System.out.println("===========华丽的分割线===========");
- System.out.println("RBGer rbger3 = new RBGer();");
- RBGer rbger3 = new RBGer();
- System.out.println("===========华丽的分割线===========");
- System.out.println("RBGer rbger4 = new RBGer(\"1\");");
- RBGer rbger4 = new RBGer("1");
- }
结果显示
Machine machine = new Machine();
Machine()
===========华丽的分割线===========
Machine machine2 = new Machine("0");
Machine(String name)
===========华丽的分割线===========
Machine rbger = new RBGer();
Machine()
RBGer()
===========华丽的分割线===========
Machine rbger2 = new RBGer("1");
Machine()
RBGer(String name)
===========华丽的分割线===========
RBGer rbger3 = new RBGer();
Machine()
RBGer()
===========华丽的分割线===========
RBGer rbger4 = new RBGer("1");
Machine()
RBGer(String name)
java继承的对象中构造函数的调用顺序的更多相关文章
- 多重继承,虚继承,MI继承中虚继承中构造函数的调用情况
先来测试一些普通的多重继承.其实这个是显而易见的. 测试代码: //测试多重继承中派生类的构造函数的调用顺序何时调用 //Fedora20 gcc version=4.8.2 #include < ...
- UIViewController中各方法调用顺序及功能详解
UIViewController中各方法调用顺序及功能详解 UIViewController中loadView, viewDidLoad, viewWillUnload, viewDidUnload, ...
- C++复习14 构造函数初始化调用顺序
1.关于构造函数初始化调用顺序的问题. 首先是父类和子类的,首先调用父类的构造函数,然后调用子类的构造函数.但是对于子类中有其他类型的数据成员的时候,会在调用该类的构造函数之前,调用其数据成员的构造函 ...
- C++继承中析构函数 构造函数的调用顺序以及虚析构函数
首先说说构造函数.大家都知道构造函数里就能够调用成员变量,而继承中子类是把基类的成员变成自己的成员,那么也就是说子类在构造函数里就能够调用基类的成员了,这就说明创建子类的时候必须先调用基类的构造函数, ...
- Java继承--子父类中的构造函数
子父类中的构造函数的特点: 1.在子类构造对象时,发现,访问子类构造函数时,父类构造函数也运行了. 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 类似于this(); ...
- android开发中关于继承activity类中方法的调用
android开发中关于继承activity类中的函数,不能在其他类中调用其方法. MainActivity.java package com.example.testmain; import and ...
- java中构造器的调用顺序
在编程的过程中,我们经常会遇到多个类的继承问题,那么多个类的构造器是按照什么顺序调用的呢? 先看一段代码: public class Meal { public Meal() { System.out ...
- 牛客网Java刷题知识点之构造函数可以调用一般函数,但是一般函数不可以直接调用构造函数
不多说,直接上干货! 通过 牛客网Java刷题知识点之构造函数是什么.一般函数和构造函数什么区别呢.构造函数的重载.构造函数的内存图解 我们对构造函数有了一个比较清楚的认识,当我们在创建对象时,我们会 ...
- Java之Object对象中的wait()和notifyAll()用法
用一个例子来说明Object对象中的wait方法和notifyAll方法的使用. 首先定义一个消息类,用于封装数据,以供读写线程进行操作: /** * 消息 * * @author syj */ pu ...
随机推荐
- 【读书笔记】-- JavaScript数组
数组是一段线性分配的内存,它通过整数计算偏移并访问其中的元素.大多数的语言都会要求一个数组的元素是相同类型,但JavaScript数组可以包含任意类型. var misc = ['string', n ...
- chrome浏览器渲染白屏问题剖析
刚截图十几次,终于捕捉到了这个白屏现象,hiahia~~ 大家可以很清晰地看到下边还木有渲染完毕的透明层,这是一个十分普遍的问题,经常遇到.我的浏览器版本是 到目前为止应该是最新版(release版本 ...
- karma作为jQuery单元测试Runner
karma作为angular测试runner出现,如果你使用过karma一定感受到这很不错的javascript测试runner.简单干净的配置文件karma.config.js,以及karma in ...
- DBCC DROPCLEANBUFFERS失效了?
原文出处:http://www.sqlskills.com/blogs/paul/when-dbcc-dropcleanbuffers-doesnt-work/ DBCC DROPCLEANBUFFE ...
- 数据库的Timeout
数据库的Timeout 其实有很多种情况. 一个是执行的超时时间 executionTimeOut,一个是连接的超时时间connectionTimeOut, 还有呢? 等待的超时时间 ReadTime ...
- JS的prototype和__proto__ Constructor
一.prototype和__proto__的概念 prototype是 注意是 只有函数的一个属性才有的(每个函数都有一个prototype属性),这个属性是一个指针,指向一个普通对象并且不是原型对象 ...
- rabbitmq消息队列——"路由"
在之前的教程中,我们创建了一个简单的日志系统.我们能够向许多交换器转发日志消息. 在本教程中,我们将添加一个功能--我们让它仅仅接收我们感兴趣的日志类别.举例:我们 实现仅将严重级别的错误日志写入磁盘 ...
- fir.im Weekly - 当技术成为一种 “武器”
最近纷纷扰扰,快播公开庭审,携程事件仍在升级,百度还在继续无底线.我们相信技术本身并不可耻,但是用技术作恶就是可耻.当技术成为一种武器,Do not be evil. 好了,继续本期的 fir.im ...
- html5 浏览器端数据库
为什么使用浏览器端数据库:随着浏览器的处理能力不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少用户等待从服务器获取数据的时间. 一.localStorage — 本地存储 可 ...
- js 判断字符串是否包含另外一个字符串
示例代码: <script type="text/javascript"> var str = "测试一个字符串(ehtrzes)是否包含另外一个字符串&qu ...