1.Car c = new Car();

Car c2 = new Car();

1> c 和 c2之间的区别?

	public static void main(String[] args) {
// TODO Auto-generated method stub
Car c = new Car();
Car c2 = new Car();
System.out.println(c == c2);
}
}
class Car{
int number = 4;
String color = "red";
}

  输出结果:false

表明,c和c2两个是不同的存储空间。因为在堆中的位置不一样。

2> 匿名内部类,new Car();

使用规则:1.如果是匿名内部类使用一次,那么用匿名内部类比较合适。

2.如果是多次要使用匿名内部类,就要给匿名内部类命名,不然在内存中就是垃圾了。

3>java把程序执行的流程信息都放在了栈中,可以画出堆栈执行流程图。

总结:堆中放实例化的对象,栈中放执行流程的方法信息。如果函数中包含函数,比如函数A中调用函数B,函数B中调用函数C,那么,c 函数是属于栈顶,b函数是属于栈顶下面的那个,A函数是属于栈底的那个元素。

意思就是说明,C函数最新执行完成,然后就是B函数,再然后就是A函数。

2.封装:

3.this关键字,

1>表示本类对象的引用,用户传入参数同名的情况。

2>this();表示可以调用本类的构造函数,也可以传值(“hhhh”);

3>什么this();要放在第一行?如何不放在第一行,会有什么情况发生?

this.name = name;

this();

那么这段代码肯定会报错,因为,this()只能在构造函数中互相调用,所以,在调用this()之前已经初始化了 this代表的对象。

本来,this.name 已经初始化了,this类的name属性,而打印的时候,this();什么都没有。所以不符合逻辑。

Java基础毕向东day05 对象与对象的区别,匿名内部类,函数的执行流程。的更多相关文章

  1. Java基础毕向东day03

    Java基础毕向东day03 1.变量 2.条件结构 3.循环结构,for while,和几种特殊的情况. 4.函数重载

  2. Java基础毕向东day02

    1. 常量 null 等特殊 2.标识符 数字-字母-下划线,数字不能开头 3.二进制 1> 二进制计算方法. 2>常用二进制. 1        1      0       0   1 ...

  3. Java基础毕向东day04

    1. 数组 2.选择排序.冒泡排序.折半查找.

  4. 全局对象的构造函数会在main 函数之前执行

    #include <iostream> using namespace std; class A { public: A() { cout << "Generator ...

  5. 全局对象的构造函数会在main函数之前执行?

    #include <iostream> using namespace std; class CTest { public: CTest() { cout << "构 ...

  6. 【JAVA】毕向东Java基础视频教程-笔记

    传智播客-毕向东Java基础视频教程 <2013年-33days>版-学习代码记录 链接: GitHub库:JavaBXD33 目录 01-Java基础知识 02-Java对象细节 03- ...

  7. JAVA基础学习之路(七)对象数组的定义及使用

    两种定义方式: 1.动态初始化: 定义并开辟数组:类名称 对象数组名[] = new 类名称[长度] 分布按成:类名称 对象数组名[] = null: 对象数组名 = new 类名称[长度]:   2 ...

  8. java基础(13):static、final、匿名对象、内部类、包、修饰符、代码块

    1. final关键字 1.1 final的概念 继承的出现提高了代码的复用性,并方便开发.但随之也有问题,有些类在描述完之后,不想被继承,或者有些类中的部分方法功能是固定的,不想让子类重写.可是当子 ...

  9. [ 原创 ] Java基础1--Java中super和this的用法和区别

    许多同学在学习Java时分不清楚this和super的用法和区别,今天偶然发现一片加精的博文,看完内容准备自己也写下来积累一下 1.如果想在子类的构造方法中调用父类的构造方法,必须在子类的构造方法中使 ...

随机推荐

  1. 配置NGReport 报告中文

    1. 测试报告的名称 在测试开始或测试监听器的类中加上下面一句代码即可: System.setProperty("org.uncommons.reportng.title", &q ...

  2. iOS 控制单个控制器旋转

    iOS 控制单个控制器旋转 控制单个ViewController 的旋转 //不旋转,保持竖屏 //iOS 5 - (BOOL) shouldAutorotateToInterfaceOrientat ...

  3. 在腾讯云上创建您的SQL Cluster(1)

    版权声明:本文由李斯达原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/247 来源:腾云阁 https://www.qclo ...

  4. java 多线程2

    class MyThread extends Thread { @Override public void run() { super.run(); for (int i = 0; i < 50 ...

  5. 关于ASP.NET与CLR相互关系的一些总结

    原文地址:http://www.cnblogs.com/jasenkin/archive/2010/10/20/asp-net-clr-relation.html CLR(COM服务器) CLR作为一 ...

  6. css3 translate属性

    translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动):translateX(x)仅水平方向移动(X轴移动):translateY(Y)仅垂直方向移动(Y轴移动)默认都是从 ...

  7. [redis] Redis 配置文件置参数详解

    ################################ 基础配置 ################################# #daemonize no 默认情况下, redis 不 ...

  8. Feistel密码结构

    分组密码:是一种加解密方案,将输入的明文分组当作一个整体出来,输出一个等长的密文分组. 典型的分组大小为64位和128位.密钥长度一般为128位.迭代轮数典型值为16轮. Feistel 密码结构是用 ...

  9. 20145236 《Java程序设计》实验三实验报告

    实验三实验报告 和张亚军同学一组: 实验三实验报告

  10. 20145236 《Java程序设计》第7周学习总结

    20145236 <Java程序设计>第7周学习总结 教材学习内容总结 第十三章 时间与日期 认识时间与日期 时间的度量 格林威治标准时间GMT 格林威治标准时间的正午是太阳抵达天空最高点 ...