建议47:在equals中使用getClass进行类型判断 本节我们继续讨论覆写equals的问题,这次我们编写一个员工Employee类继承Person类,这很正常,员工也是人嘛,而且在JavaBean中继承也很多见,代码如下: 员工类增加了工号ID属性,同时也覆 ...
书读的多而不思考,你会觉得自己知道的很多。 书读的多而思考,你会觉得自己不懂的越来越多。 伏尔泰 在面向对象编程 Object Oriented Programming, OOP 的世界里,类和对象是真实世界的描述工具,方法是行为和动作的展示形式,封装 继承 多态则是其多姿多彩的主要实现方式,本章主要讲述关于Java对象,方法的种种规则,限制和建议。 建议 :在接口中不要存在实现代码 看到这样的 ...
2016-09-13 09:35 4 1829 推荐指数:
建议47:在equals中使用getClass进行类型判断 本节我们继续讨论覆写equals的问题,这次我们编写一个员工Employee类继承Person类,这很正常,员工也是人嘛,而且在JavaBean中继承也很多见,代码如下: 员工类增加了工号ID属性,同时也覆 ...
建议36:使用构造代码块精简程序 什么叫做代码块(Code Block)?用大括号把多行代码封装在一起,形成一个独立的数据体,实现特定算法的代码集合即为代码块,一般来说代码快不能单独运行的,必须要有运行主体。在Java中一共有四种类型的代码块: 普通代码块:就是在方法后面使用 ...
建议41:让多重继承成为现实 在Java中一个类可以多重实现,但不能多重继承,也就是说一个类能够同时实现多个接口,但不 能同时继承多个类。但有时候我们确实需要继承多个类,比如希望拥有多个类的行为功能,就很难使用单继承来解决问题了(当然,使用多继承是可以解决的)。幸 运的是Java中提 ...
泛型可以减少强制类型的转换,可以规范集合的元素类型,还可以提高代码的安全性和可读性,正式因为有这些优点,自从Java引入泛型后,项目的编码规则上便多了一条:优先使用泛型。 反射可以“看透” 程序的运行情况,可以让我们在运行期知晓一个类或实例的运行状况,可以动态的加载和调用,虽然有一定 ...
枚举和注解都是在Java1.5中引入的,虽然它们是后起之秀,但其功效不可小觑,枚举改变了常量的声明方式,注解耦合了数据和代码。 建议83:推荐使用枚举定义常量 常量声明是每一个项目都不可或缺的,在Java1.5之前,我们只有两种方式的声明:类常量和接口常量,若在项目 ...
建议106:动态代理可以使代理模式更加灵活 Java的反射框架提供了动态代理(Dynamic Proxy)机制,允许在运行期对目标类生成代理,避免重复开发。我们知道一个静态代理是通过主题角色(Proxy)和具体主题角色(Real Subject)共同实现主题角色(Subject)的逻辑 ...
建议26:提防包装类型的null值 我们知道Java引入包装类型(Wrapper Types)是为了解决基本类型的实例化问题,以便让一个基本类型也能参与到面向对象的编程世界中。而在Java5中泛型更是对基本类型说了"不",如果把一个整型放入List中,就必须使用Integer包装类 ...
噢,它明白了,河水既没有牛伯伯说的那么浅,也没有小松鼠说的那么深,只有亲自试过才知道。 ---寓言故事《小马过河》 数据处理是每种语言必备的功能,Java更甚之,数据集可以允许重复 ...