java 三大特性理解,总结理解java三大特性

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)

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)
经验分享 程序员 微信小程序 职场和发展