1、封装
封装就是把特定的功能封装在一起,留出少数的接口供外部访问。
好处:a保证内部数据安全稳定 b 功能模块化,便于维护 c 增加了代码的可读性
用在那些地方:比如登录 注册 支付 退款 表单保存 等
public protect private 定义了不同类的访问权限,可以控制外部访问
2、继承:
为了利用父类的方法,不方便或者不不能修改父类,就可以继承父类方法,并且增加子类特有的属性
好处: 代码复用,减少代码量 结构清晰 便于修改和维护
子类继承父类的方法 有 使用父类方法、重写 重载
重写:和父类方法的名称参数完全一样
重载:重写一遍父类方法 ,名称不变,参数变化
3多态:
不同类的对象对同一消息做出响应
动态的使用子类的方法 要以继承为基础
多态一般包括三个过程 继承父类方法 重载/重写父类方法 父类引用指向父类。
主要用在一个父类有多个子类,调用一个公共的父类方法,本质上是灵活调用子类方法。
一个 经典例子,看懂这个就对多态有一定了解
class A{
public void Out(A a){
system.out.print("我是A A")
}
public void Out(D d){
system.out.print("我是A D")
}
}
class B extend A{
public void Out(A a){
system.out.print("我是B A")
}
public void Out(B b){
system.out.print("我是B B")
}
}
Class C extends B{}
Class D extends B{}
调用测试:
public static void main(String args []){
A a1=new A();
A a2 =new B();
B b =new B();
C c =new C();
D d=new D();
1 system.out.println(a1.Out(c))
2 system.out.println(a2.Out(a))
3 system.out.println(b.Out(c))
4 system.out.println(c.Out(a))
5 system.out.println(d.Out(d))
}
输出 1我是 BB
2 我是 BA
3 我是 BB
4 我是 BA
5 我是 BB
附 多态执行的先后顺序是
this.call(this) super.call(this) this.call(super) super.call(super)
有不明白的加QQ 286867129