一、封装安全
封装就是把特定的功能封装在一块儿,留出少数的接口供外部访问。模块化
好处:a保证内部数据安全稳定 b 功能模块化,便于维护 c 增长了代码的可读性测试
用在那些地方:好比登陆 注册 支付 退款 表单保存 等this
public protect private 定义了不一样类的访问权限,能够控制外部访问对象
二、继承:继承
为了利用父类的方法,不方便或者不不能修改父类,就能够继承父类方法,而且增长子类特有的属性接口
好处: 代码复用,减小代码量 结构清晰 便于修改和维护 class
子类继承父类的方法 有 使用父类方法、重写 重载登录
重写:和父类方法的名称参数彻底同样基础
重载:重写一遍父类方法 ,名称不变,参数变化
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