一、封装--“高内聚,低耦合”
- 定义:数据的隐藏,禁止直接访问一个对象中的数据的实际表示,通过操作接口进行访问。--属性私有,get/set--alt+insert
- 意义: 提高程序安全性,保护数据;隐藏代码的实现细节;统一接口;提高系统可维护性。
二、继承--所有的类都继承object类
- 定义:extends--扩展,是类和类之间的关系,子类(派生类)继承父类--ctrl+H可查看继承关系
- java中都是单继承关系,儿子一个父亲,父亲多个儿子
- super--可继承父类的方法和属性,父类私有的东西不可被继承(实例化子类,会先调用父类的构造器)
super注意点:
- super调用父类的构造方法,必须在子类构造方法的第一行
- super必须只能出现在子类的方法或构造方法中
- super和this不能同时调用构造方法
和this的区别:
- 代表对象不同:this--本身的调用者、super--父类对象
- 前提:this--没继承也可以 super--只能在继承条件下用
- 构造方法:this--本类的构造 super--父类构造
三、方法的重写
//重写a。java'
public class A extends B{
@Override
public void test() {
System.out.println("a--test");
}
}
//b.java
public class B {
public void test(){
System.out.println("b--test");
}
}
application.java
public class Application {
public static void main(String[] args) {
A a = new A();
a.test();
//父类的引用指向子类
B b=new A();
b.test();
}
}
输出:
a--test
a--test
- 静态的方法和非静态方法不一样--静态属于类 非静态属于对象
重写:
- 方法名必须相同
- 参数列表必须相同
- 修饰符:范围可以扩大但不能缩小:public>protected>default>private
子类分方法必须和父类一致,但是方法体不同。
应用场景:
- 子类不需要或者不一定满足父类的功能 alt+insert @Override
四、多态
- 定义:同一个方法根据发送对象的不同而采用不同的行为方式--重写是是实现多态
多态注意事项:
- 多态是方法的多态,属性没有多态
- 父类和子类有联系
- 存在条件:继承关系,方法需要重写,父类引用(左边类型)指向子类对象(右边new)