java学习随手记
2017-11-23 16:24
218 查看
1. 静态常量 与 非静态常量 区别
为什么在编写代码时,需要将:private final int ABC
写为
private static final int ABC
原因:
什么叫常量? 一般来说就是不会变的量
静态: 对于该类的对象来说,都只有一个,叫类变量
非静态: 每个该类的对象都各有一个,叫成员变量.
因为是常量,不会变的,所有的对象都是一样的,所以就只需要一个就够了.
工商银行卡类:他们有一个静态的银行卡名称叫:工商银行卡–>静态
每个卡又月自己的卡号–>非静态.
在创建对象的时候,需要每个成员变量(非静态)开辟内存空间,类变量(静态变量)则是在类加载的时候就创建好了.
简而言之就是:
减小内存开销,static,保证了你的ABC变量在内存中只有一个,而且唯一;
2. 向上转型
对于向上转型的理解,看到一篇文章解析很好,抄录下:当一个儿子长大成人娶妻生子之后,他便“向上转型”为一个父亲了,呵呵,他除了非常私有的(private)一些情况保持不变外,如姓名,老婆的名字等等外,其他的属性(public,protected,friendly)都成为一个标准的父亲应有的属性(被覆盖了),如对家庭的责任感,由做儿子时的“低”变为了父亲应有的“高”;自由的程度,由作儿子时的“高”变为了作父亲后的“低”等等类似的。而他作儿子时一些特有的(不属于父亲应有的或者说父类没有的)作为(方法)在其成为父亲后便被舍弃了,如恣意妄为,夜不归宿等等。而正常的行为,比如挣钱的方法,每个父亲肯定不尽相同,作son时的方法也就保存了下来(覆盖了父类的方法)。
原文章链接:向上转型原作者链接
相关文章推荐
- 对于初学者学习Java语言的建议[教学]
- 我学习使用java的一点体会
- 我学习使用java的一点体会(4)
- 我学习使用java的一点体会(6)
- 我学习使用java的一点体会(8)
- 小议学习Java的浮躁心态(2)——分析篇
- JAVA学习笔记之Collection
- Java学习过程的一些重点
- 为什么要学习JAVA
- JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(1)
- JAVA与模式 学习笔记(一) 统一的建模语言UML介绍(2)
- Java学习资源推荐(书籍和网站)
- 回忆一下java的学习过程
- Java学习路径(三)过程篇
- 学习Java的过程中主要围绕以下几个方面来学习
- 学习java心得体会(一)
- Java学习路径(一)工具篇
- 通过高级机器人战斗仿真引擎学习 Java 编程
- Java学习路径(一)工具篇
- Java中文处理学习笔记——Hello Unicode