Java Day8
Java Day8
1.访问权限
public
公告的,所有包内包外都可以访问的
default
包访问权限,在自己包内可以随意访问
private
私有的,自己类可访问
2.getter & setter
setter:主要给成员变量赋值的成员方法,做一定保护;
getter:从成员变量中获取值的成员方法;
通过成员方法访问或更改,给成员属性给予保护,使程序更加健壮
Idea 可以通过getter和setter 自动添加其方法
3.继承
- 子类自动拥有父类中除了私有内容外的其他所有
继承:
public class 子类 extends 父类{
}
- 私有内容不能被继承
- 类不能加private修饰
作用:简化代码的开发
子类是对父类进行扩展
思想:子类对父类的继承,将某种具有部分相同属性功能的类再进行抽象,建立一个共有属性的类,其余子类通过继承该父类,从而使开发变得更为简洁明了
4.super
- 变量的查找顺序,先找自己类然后再找父类,就近原则;
- 如果想要访问父类中的内容
super.*; 可访问子类中与父类重名的内容
- 在创建每一个子类对象时,编译器并为其分配内存,都在子类对象中隐式声明创建了一个父类并且先执行创建父类。而这个父类就是super
5.方法重写
- 子类对父类提供的方法进行重新定义
- 子类方法与父类方法完全一致
- 也叫作方法覆盖
- super可以在子类中调用父类的方法
半覆盖
在子类重构方法中使用了super调用父类同名的方法
全覆盖
重构了父类中的方法
1 | public class Demo1 extends Demo2{ |
6.多态
实现多态的条件
- 继承:必须要有子类继承父类的继承关系。
- 重写:子类需要对父类中的一些方法进行重写,然后调用方法时就会调用子类重写的方法而不是原本父类的方法。
- 向上转型:在多态中需要将子类的引用赋给父类对象,只有这样该引用才能够具备技能调用父类的方法和子类的方法。
同一个对象拥有多种形态
把不同的数据类型进行统一
把子类的对象赋值给父类的变量->向上转型(会屏蔽子类中特有的方法)
把父类的变量转化会子类的变量->向下转型(向下类型转型有风险必须强制转换)
1 | public class Animal { |
子类集成父类 父类 变量 = new 子类(); 继承的基本条件
子类要重载(重写) 父类中方法 继承条件2
多态触发后 子类除了重写的方法 其余方法、属性都将不可见(但创建的属性方法都存在),因此任何在子类中访问非重写方法都是未定义的;
可通过向下强转回该类 方法与强转基础数据类型一致
- 作用使程序有很强的拓展性
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Loser の Blog!