UML图 访问范围
减号代表private 同一类内访问
加号代表public 任何类都可以访问
#号代表proteced 同一包内类访问,子类可访问
缺省 同一包内类访问,子类不可访问
equals方法
Java中一般情况下,对“==”的使用会很少,而是多用equals方法来比较。
equals方法属于Objec类并且不是final类型,可以被继承和重写,在对象之间比较,equals默认比较和“==”一致,都是比较对象的内存地址。要想实现对对象属性的比较,必须根据 自己的需要重写equals方法。
equals方法一般情况下都需要重写自己想要的方法,而且配合多态可以实现强大的“比较”功能。
当比较子类当中特有的属性 要重写父类的equals方法,通过多态实现调用参数的输入,输入完成之后要强转成子类对象再进行比较操作。
String类的两个对象之间比较字符串是否相等时,直接使用equals方法进行比较即可。原因待探究,预想是和常量池有关
了解单例模式:三个必要
1.单例类只能有一个实例
2.单例类自己创建唯一实例
3.单例类向所有其他对象提供唯一实例
虚拟方法调用