Java基础——Day11
0回顾:
0.1 final
- 修饰变量:就是常量,比如PI
- 修饰方法:不允许子类重写,只让你调用。【你认为这个方法已经写的很完美了,不需要再修改了】
- 修饰类:你这个类已经很完善了或者你自己的一个类似JDK的工具集/框架,此时就可以将其定义为final
0.2 static
- 修饰变量:类变量,通过类名调用,用于数据共享【每个对象操作后,别的对象拿到的都是最新值;而不是自己跟自己玩】,一般我们会结合final一起使用,定义全局常量
- 修饰方法:一般是放在工具类中。好处就是通过类名调用,即使调用n此,也无需创建n个对象去调用,就不需要频繁的GC,同时也节省了我们堆内存空间。
- 修饰代码块:静态代码块,具体使用我们在讲到JDBC的时候,我们去初始化连接信息的时候会用到,知道普通代码块、构造方法的先后顺序
0.3 Object
- toString():直接输出对象名 跟对象名.toString()没有区别,你用对象名.toString()多余
- equals(): 自定义比较规则,比如String,比较的是内容而不是地址值,因为它重写了equals equals vs ==
- hashCode(): 把这个当作是在内存中的某个位置,一般我们在重写equals的同时还要重写hashCode()
- getClass(): 间接通过这个,拿到全类名,以及简单类名
1 多态
1.1 为什么要用
宠物乐园为例,我们为宠物喂食,我们新增了一个主人类,添加了一个feed方法,根据我们前面的只是,我们可以在Master