java学习笔记(1)
2016-03-25 09:57
417 查看
heap size :系统当前给app 分配的堆的大小,当资源增加head size 剩余大小不足时,系统增加head size的大小。
Allocated:堆中已分配的大小,这是应用程序实际占用的内存大小,资源回收时,此项数据会变小。
对象分配在heap中,基本数据类型和对象的放在堆栈中。
访问类的静态域或静态法方法时,会导致该类初始化(被加载);
能够根据所传递的参数对象不同而具有不同的行为方法— 策略设计模式;
接口是一种更纯粹形式的抽象类;
组合多个类的接口的形式的行为—-多重继承;
使用接口的核心原因:
(1).为了能够向上转型(UpCasting)为多个基类(以及由此而带来的灵活性)。
(2).第二个原因与使用抽象基类相同,防止客户端程序员创建该类的对象,并确保这仅仅是建立了一个借口。
我们应该使用接口还是抽象类???
如果要创建不带任何放大的定义和成员变量的基类,那么就应该原则接口而不是抽象类,放入接口中的任何域都自动的是static 和final的。接口中的所有成员都被自动设置为public。
在SE5之前用接口来群组常量,在SE5之后出现了enum,用接口来群组常量没有意义,接口是实现多重继承的途径。而生成循环某个接口的对象的典型方式就是工厂设计模式。
内部类:
1、名字隐藏机制。2、组织代码的模式。3、Java中内部类对象与外围对象存在联系,他能够访问其外围对象的所有成员,而不需要任何特殊的条件,内部类对象拥有外围对象所有元素的访问权限。
匿名内部类不可能有命名构造器(因为他根本没有名字)。实例初始化(相当于构造器)
匿名内部类如果要访问外围对象的参数,那么必须要把参数设为final.
Allocated:堆中已分配的大小,这是应用程序实际占用的内存大小,资源回收时,此项数据会变小。
对象分配在heap中,基本数据类型和对象的放在堆栈中。
访问类的静态域或静态法方法时,会导致该类初始化(被加载);
能够根据所传递的参数对象不同而具有不同的行为方法— 策略设计模式;
接口是一种更纯粹形式的抽象类;
组合多个类的接口的形式的行为—-多重继承;
使用接口的核心原因:
(1).为了能够向上转型(UpCasting)为多个基类(以及由此而带来的灵活性)。
(2).第二个原因与使用抽象基类相同,防止客户端程序员创建该类的对象,并确保这仅仅是建立了一个借口。
我们应该使用接口还是抽象类???
如果要创建不带任何放大的定义和成员变量的基类,那么就应该原则接口而不是抽象类,放入接口中的任何域都自动的是static 和final的。接口中的所有成员都被自动设置为public。
在SE5之前用接口来群组常量,在SE5之后出现了enum,用接口来群组常量没有意义,接口是实现多重继承的途径。而生成循环某个接口的对象的典型方式就是工厂设计模式。
内部类:
1、名字隐藏机制。2、组织代码的模式。3、Java中内部类对象与外围对象存在联系,他能够访问其外围对象的所有成员,而不需要任何特殊的条件,内部类对象拥有外围对象所有元素的访问权限。
匿名内部类不可能有命名构造器(因为他根本没有名字)。实例初始化(相当于构造器)
匿名内部类如果要访问外围对象的参数,那么必须要把参数设为final.
相关文章推荐
- java解惑 读书笔记
- 《java笔记 day07》
- Eclipse报错:java.lang.ClassNotFoundException: ContextLoaderListener
- 打开Eclipse时在Loading workbench状态卡住问题解决办法
- Java简单拦截器
- 深入理解Java虚拟机 一、Java虚拟机运行时数据区
- java 关键字
- Spring --- java定时器,Spring定时器和Quartz定时器
- 网易2016年Java工程师实习编程题目之括号匹配的验证
- 细读 Thinking in Java (一)一切都是对象
- 深入理解Java内存模型(一)——基础
- 关于使用NetBeans无法使用编码utf-8(NetBeans默认编码格式)安全地打开文件的问题
- java list 转 XML
- Java——下拉列表框:JComboBox
- Java-实现服务器
- Gradle 1.12用户指南翻译——第46章. Java 库发布插件
- Gradle 1.12用户指南翻译——第46章. Java 库发布插件
- Gradle 1.12用户指南翻译——第46章. Java 库发布插件
- JAVA线程
- java拦截器模型