Thinking in Java 经典语录推荐
1. Booch对对象的简单描述为:对象具有状态、行为和标识。这意味着每一个对象都可以拥有内部数据(给出了该对象的状态)和方法(给出了该对象的行为),并且每一个对象都可以唯一地与其他对象区分开来。
2. Java里一切都是对象,但操作的标识符实际上是对象的一个“引用”,就好比遥控器(引用)和电视机(对象)的关系。你只要握住这个遥控器就可以控制电视机。当你想调音量或者换频道的时候,实际操控的是遥控器,再由遥控器来调控电视机。如果想在房间里四处走走仍能遥控电视机,那么只要携带遥控器而不是电视机。此外,即使没有电视机,遥控器仍然可以单独存在,也就是说你可以拥有一个引用,而不一定需要一个对象与之关联,如?:String s;是允许的,但是如果这时候你要控制电视机,如s.method()就不允许了,因为没有电视机和你这个遥控器关联,所以使用之前必须初始化,即找到一台电视机与之关联。
3. Java内存分配:
① 寄存器:最快的存储区,java里你是不能控制的,略去!
② 堆栈:存放了对象引用,但是对象不存储在这里;
③ 堆:用于存放所有的java对象;
④ 常量存储:可以选择将常量存储在ROM里;
⑤ 非RAM存储:基本例子:流对象和持久化对象。后者存放在硬盘上。
4. 方法名和+参数列表=方法签名,用于唯一的标识某个方法。
5. A a = new A(); a.f();这种调用方法的行为通常被称为发送消息给对象,消息是f(),对象是a,在java里简单的归纳为“向对象发送消息”。其实在java内部表示为A.f(a,1),而A b = new A(); b.f();b.f();为A.f(b,2),这样把“操作对象的引用”作为第一个参数传进去的'原因是可以区分f()是被a调用还是b调用了。
6. 当声明一个事物是static时,就意味着这个域或方法不与包含它的那个类的任何对象实例关联在一起,属于类而不是对象。有些面向对象语言里称之为“类数据”和“类方法”。
7. 比较常量用==,比较对象可不是简单的equals()。Equals()默认比较的是引用,要想比较内容需重写equals()方法,好在java类库大部分都实现了自己的equals()。
8. java不需要sizeof()操作符来告诉为数据项分配的字节数,因为所有数据类型在所有机器中的大小都是相同的。
9. java里逗号的两大用处:分隔参数列表(叫“逗号分隔符”),for循环的初始化和步进控制部分(叫“逗号操作符”)。
10. java里的switch后跟选择因子只能为:int、char、枚举(千万别忘了!)。
11. 通过构造器,类的设计者可以确保每个对象都会得到初始化(即使你不写,也有默认的
空构造器)。也是由于构造器的存在,所以“每个方法首字母小写”的编码风格并不适用于构造器(因为它必须和类同名啊,呵呵~!)。
12. 为什么区分方法重载是看参数(个数、顺序、数据类型)而不看返回值类型了,因为唯 一区别方法的是方法签名(方法名+参数列表),现在方法重载所以方法名肯定相同了,就只要看参数列表了。
13. 在static方法内部是不能调用非静态方法的,反过来倒是可以的。但是有点变态的是,
并不是完全不能调用非静态方法的,比如传一个对象的引用到静态方法里,你是不是无语了。
14. 当说到java 的垃圾回收机制的时候,总喜欢套用官话“引用计数”,即当有引用关联到
这个对象时,其引用计数+1,当引用离开作用域或者置为null时,引用计数-1,当计数为0的时候就回收这个对象占的内存。其实并不是这样的,没有任何一种java虚拟机是这样做的,因为这种方法有种缺陷就是存在循环引用的时候,就存在“对象本应回收,但是引用计数又不为0”的情况。其实在java虚拟机里,采用的是“自适应”的垃圾回收机制,采用“停止-复制”和“标记-清扫”的混合技术。“停止-复制”就是暂停程序的执行,找到存活的对象并复制到另外一个堆,再干掉这个堆,所以存在大量的数据迁移。“标记-清扫”是找到存活的对象并加以标记,等全部标记完后再清扫。
15. 复用类的方法:组合、继承、代理。组合(has-a)最灵活,继承(is-a)最强求且最危
险,因为全部暴露给了子类,为了安全就出来了代理(实现一个子集即可),所以“代理是继承和组合的中庸之道”。请记住,还有一个中庸之道,就是“抽象类是普通类和接口的中庸之道”,慢慢品尝吧!
16. 将导出类转型为基类,称为“向上转型”,因为在继承图上是向上移动的,懂吗?呵呵~!
17. 所谓的动态绑定、后期绑定、运行时绑定就是多态!
18. 将一个方法调用同一个方法主体关联起来被称作绑定。后期绑定就是运行时根据对象的类型进行绑定。后期绑定也叫做动态绑定或运行时绑定。Java中除了static方法和final方法(private方法属于final方法)之外,其余的都是后期绑定。
19. 一个接口表示“所有实现了该特定接口的类看起来都像这样”。接口被用来建立类与类之间的协议,有些面向对象的语言直接使用protocol关键字来实现。
安徽高考排名17100左右排位文科可以上哪些大学,具体能上什么大学
福建高考排名46800左右排位物理可以上哪些大学,具体能上什么大学
南宁师范大学师园学院和吉林建筑大学哪个好 附对比和区别排名
哈尔滨信息工程学院在湖南高考招生计划人数专业代码(2024参考)
福建高考排名71650左右排位物理可以上哪些大学,具体能上什么大学
重庆理工大学的英语专业排名怎么样 附历年录戎数线
通用社会的语录集合56句
大班健康优质课教案小心药物中毒
文明伴我生长优秀教案设计
幼儿园托班音乐游戏身体当小鼓教案
通用社会的语录集合56句
通用美好的早安心语语录大合集55条
唯美伤感爱情语录50句
关于陈安之语录
简洁的每日一签早安问候语语录集合54条
经典的语录
延边大学和华东理工大学哪个好 附对比和区别排名
四川高考排名199830左右排位理科可以上哪些大学,具体能上什么大学
广东高考排名14580左右排位物理可以上哪些大学,具体能上什么大学
广西高考排名72990左右排位理科可以上哪些大学,具体能上什么大学
四川高考排名268560左右排位理科可以上哪些大学,具体能上什么大学
考甘肃交通职业技术学院要多少分贵州考生 附2024录取名次和最低分
河南高考排名74080左右排位理科可以上哪些大学,具体能上什么大学
山东高考排名277310左右排位综合可以上哪些大学,具体能上什么大学
西安电力高等专科学校在四川高考招生计划人数专业代码(2024参考)
广西高考排名9550左右排位理科可以上哪些大学,具体能上什么大学
考江西电力职业技术学院要多少分安徽考生 附2024录取名次和最低分
河北高考排名155430左右排位历史可以上哪些大学,具体能上什么大学
三峡电力职业学院和上海交通职业技术学院哪个好 附对比和区别排名
广东高考排名44690左右排位物理可以上哪些大学,具体能上什么大学
河南高考排名167740左右排位文科可以上哪些大学,具体能上什么大学
山东高考排名11620左右排位综合可以上哪些大学,具体能上什么大学
泉州医学高等专科学校和广东轻工职业技术学院哪个好 附对比和区别排名
盐城师范学院和西安外国语大学哪个好 附对比和区别排名
河北高考排名214940左右排位物理可以上哪些大学,具体能上什么大学
山东高考排名103340左右排位综合可以上哪些大学,具体能上什么大学
雷锋的语录摘抄
人生的经典语录汇编86句
温暖的早安心语语录摘录31条
实用的治愈系早安心语语录集合51句
简单的新版早安心语语录19条
实实在在的语录
珍惜友情的语录
简洁的一句话的经典语录汇编59句
有内涵的晚安语录
简单的美好的晚安问候语语录大汇总55条
快乐语录
简短的人生经典语录合集65条
适合早晨发的早安语录
简短的温暖的早安心语语录大集合67条
林夏经典语录精选