package com.java.essence_36;

import java.util.ArrayList;

import java.util.List;

/**

* Created by lw on 14-5-23.

*

* 构造器做了什么?

* 对象是谁创建的?构造器?

* this到底是什么?

*/

class SupperConstructorInvocation {

SupperConstructorInvocation() {

this(1);//只能是第一句调用其他构造器,默认super();最后递归到Object

//this(1,2); //error

//super(); //error

}

SupperConstructorInvocation(double d) {

//this();

System.out.println(d);

}

SupperConstructorInvocation(int i, int y) {

//this();

}

}

public class ConstructorInvocation extends SupperConstructorInvocation {

public void demo() {

//this(); //error ,只能在构造器中调用构造器

}

public static void main(String[] args) {

/*ConstructorInvocation constructorInvocation

=new ConstructorInvocation(1);*/

//构造器不能继承

//测试,new对象时候构造器的参数列表执行了吗?

new SupperConstructorInvocation(100 / Math.PI);

//输出31.830988618379067,说明100 / Math.PI执行了才执行构造函数里的内容

/**

* 运行内存

* -Xms1m -Xmx1m

* 执行结果如图1,说明对象创建成功后才去执行构造方法

* 不是构造方法创建的对象

*/

CreateObject.getMaxObjects();

}

}

class CreateObject {

CreateObject() {

CreateObject object = new CreateObject();

}

CreateObject(int temp) {

System.out.println("CreateObject(int temp)->run...");

}

private static final List CREATE_OBJECT_LIST = new ArrayList<>();

public static void getMaxObjects() {

int temp = 0;

while (true) {

try {

CREATE_OBJECT_LIST.add(new CreateObject(temp = 1));

temp = 0;

} catch (Exception e) {

} finally {

System.out.println("对象创建时成功时候:构造方法执行了吗?" + (temp == 0));

}

}

}

}

java由谁创建_透析Java本质-谁创建了对象,this是什么相关推荐

  1. java本质_Java深入解析 透析Java本质的36个话题_源雷技术空间

    资源名称:Java深入解析  透析Java本质的36个话题 内容简介: 本书分为5 章,分别为"基本概念","运算符与表达式","String 类&q ...

  2. java hdfs 新建目录_如何用java在hdfs中创建一个新目录?

    public static void main(String[] args) throws IOException, URISyntaxException { ????????????配置config ...

  3. java程序员封闭_变态级JAVA程序员面试32问(转)

    第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 ...

  4. java继承和引用_浅谈Java继承、传递

    一.继承 1. 继承的概念: 子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序: 从类的结构上而言,其内部可以有如下四种常见形态:属性(包括类属 ...

  5. java栈 类 堆_详细介绍Java中的堆和栈

    栈与堆都是Java用来在RAM中寄存数据的中央.与C++不同,Java自动管理栈和堆,程序员不能直接地设置栈或堆. Java的堆是一个运转时数据区,类的对象从中分配空间.这些对象经过new.newar ...

  6. java获取机器号_(转)JAVA获得机器码的实现

    http://yangshangchuan.iteye.com/blog/2012401 首先,定义了一个统一的接口,以支持不同操作系统不同实现的透明切换: Java代码  收藏代码 /** *生成机 ...

  7. java 集成开发工具_最好的Java开发人员测试和集成工具

    java 集成开发工具 通过从您的应用程序学习企业APM产品,发现更快,更有效的性能监控. 参加AppDynamics APM导览! 无论您是刚刚起步还是已经从事了一段时间,使用正确的工具进行编程都可 ...

  8. java整数的因式分解_如何在Java中找到整数的质数-因式分解

    java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...

  9. java web应用程序_如何构建Java Web 应用程序 - Spring Boot?

    Spring Framework 是可以帮助 Java 开发人员创建企业级应用程序的开源解决方案.构建在该平台基础之上的较热门项目之一是 Spring Boot,它提供一种简化的方法来创建独立的 Ja ...

最新文章

  1. PL/SQL程序设计 第七章 包的创建和应用
  2. 全文搜索技术——Lucene
  3. 如何汉化美化Citrix的WEB界面
  4. FastClick使用之trigger触发click失效
  5. Java开发Web Service的简介
  6. vuex 源码分析_前端入门之(vuex-router-sync解析)
  7. Numpy安装+导入出错的解决方法
  8. listView/GridView getChild获取不到的解决方法
  9. linux工作技能第二发:vi
  10. Fiddler中文乱码
  11. WebView·开车指南
  12. 玩转华为ENSP模拟器系列 | 配置URPF示例
  13. 互联网进入网盘新时代
  14. ESXI安装部署主机
  15. 一般银行数据结构讲解
  16. 计算机国际会议口头报告范例,国际会议报告开场白(共4篇).docx
  17. layui日期插件样式冲突
  18. Integer 十六进制
  19. bzoj 3238 差异
  20. CSS linear-gradient 实现背景双色或多色,颜色渐变,颜色分明

热门文章

  1. svn+http+ad域
  2. 在ecshop商品详情页显示供货商
  3. 如何停止CSS3的动画?
  4. 快速构建Windows 8风格应用34-构建Toast通知
  5. 通用mapper版+SpringBoot+MyBatis框架+mysql数据库的整合
  6. ArcGIS API for JavaScript 4.9 3.26 发布与新特性
  7. BZOJ4241历史研究题解--回滚莫队
  8. Ubuntu(Debian)apt-get
  9. 1.Weblogic通Eclipse调试配置(Weblogic同Eclipse调试配置技术)
  10. java web中Jdbc访问数据库步骤通俗解释(吃饭),与MVC的通俗解释(做饭)