摘要: 单例模式有多种多样的实现方式,根据剑指offer中的观点,有三种实现方式比较推荐,第一种是双重检验锁的方式,第二种是使用静态代码块,让类在初始化的时候就完成单例变量的赋值,第三种是最推荐的,使用静态内部类。这里只分析静态内部类实现方式中的类初始化过程,以便更好地理解单例模式,静态内部类的基本概念请自 阅读全文
posted @ 2019-03-07 22:36 WongJeffung 阅读(805) 评论(0) 推荐(1) 编辑
摘要: O bject类中的equals方法 源码 Object的equals方法判断的仅仅是两个对象是否具有相同的引用,但是对于大多数类来说,这样的比较方式完全没有意义,比如实际中两个学生的学号相等,我们就认为是同个人了。 重写equals方法 1.步骤 (1)检测this与otherObjects是否引 阅读全文
posted @ 2019-03-07 22:34 WongJeffung 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 如果先在一个接口中将一个方法定义为默认方法,然后又在超类或者另一个接口中定义了同样的方法,那么同时实现这两个接口的类或者既继承了超类又实现了接口的类就会发生冲突。但Java提供相应的规则: 1. 超类优先。 如果超类提供一个具体方法,同名而且有相同参数类型的默认方法会被忽略。 2. 接口冲突。 如果 阅读全文
posted @ 2019-03-07 22:32 WongJeffung 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 1.定义两个实体,经理和雇员 这样每个Manager对象就包含了3个域:name,salary和bonus。 2.超类中的有些方法对子类Manager并不一定适用,具体来说Manager类中的getSalary方法应该返回薪水和奖金的综合,所以需要提供一个新的方法来覆盖超类中的方法。 错误做法一: 阅读全文
posted @ 2019-03-07 22:31 WongJeffung 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 相关概念 1.一个对象变量可以指示多种实际类型的现象被称为多态。在继承中的多态体现在:如果一个Employee类有三个子类,Manager,Secretary和Programmer,那么一个Employee类型的对象引用可以指示Manager或Secretary或Programmer,根据实际情况而 阅读全文
posted @ 2019-03-07 22:30 WongJeffung 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 1.编译器查看对象的声明对象和方法名。如 语句,假设隐式参数x声明为C类对象。这时编译器一一列举所有C类中名为f的方法和其超类中访问属性为public且名为f的方法。 2.编译器查看调用方法时提供的参数类型。这个过程称为重载解析。 3.如果是private、static、final方法或者构造器,那 阅读全文
posted @ 2019-03-07 22:29 WongJeffung 阅读(1650) 评论(0) 推荐(0) 编辑
摘要: 一.用户身份与能力 概述 设计Linux系统的初衷之一就是为了满足多个用户同时工作的需求,因此Linux系统必须具备很好的安全性。 Linux的管理员是root用户,其实这种说法不是很准确,root用户之所以为系统的管理员,是因为它的UID(User Identification)为0,而不是它叫做 阅读全文
posted @ 2019-03-07 22:09 WongJeffung 阅读(430) 评论(0) 推荐(0) 编辑