protected:可以跨包 --> 创建子类的对象,让子类去调父类的方法
final关键字:最终的、终极的
final可以修饰的结构:
1、类 public final class
最终类、终极类
2、属性 private final String name
常量不能改变
常量的命名规则:单词的所有字母大写,如果是多个单词,用下划线隔开
常量不能只声明、不赋值
3、方法 private final void show
final修饰的方法不能被重写
方法重写
@override 注解:在方法重写处标明重写的注释
祖先类Object(最顶级父类)
-->所有类的直接或间接父类
如果一个类没有明确写出它的父类是谁,那它的父类就是Object
Object类中有11个方法
1、hashCode():它的返回值实际上就是对象运行时的内存地址。
hash算法:一般翻译“散列”,把任意长度的输入,通过一个散列算法变换成固定长度的输出。
2、equals():和==没区别、比地址。为了让子类去重写。
Integer内部有一个缓冲区,把byte范围内的数缓存起来了。
3、toString():转换成字符串,当我们直接使用对象时,会默认直接使用toString方法。为了让子类去重写。
com.jsoft.morning.Person 带包的名-->全类名
4、finalize():垃圾回收的方法
5、clone():克隆,必须实现Cloneable接口