2020-09-11

java 的四个基本特征

抽象

现实生活中的事物被抽象成对象,把具有相同属性和行为的对象被抽象成类,再从具有相同属性和行为的类中抽象出父类。
简单说要去描写一个人,但是java语音怎么描绘呢? 人(people) 性别(sex)年龄(age)等特点,属性,这就把它抽象了。

继承

子类可以继承 父类的特征和行为,便于子类有父类相同的行为。这样可以节省大量代码,父类也叫基类,子类叫派生类
super关键字:
1.用于子类访问父类
2. 子类要调用基类的构造方法super() 位于首行 在子类中用
3. 调用父类已被重写的方法
4. 可以访问父类的成员变量 数据成员 方法
特征
继承是传递的,如c-b b-a 则,c同样有a的方法和属性
可以简化关系 更好的体现层次关系结构
提供了软件复用功能,如c-a,只需要写不同于a的属性和方法 增加了程序的重用性
出于安全,仅支持单重继承,可以用接口实现多重继承
优点
代码复用 省事
重写
要求子类返回值和父类同名方法的返回值相同 参数列表也相同
子类权限不能比父类小 顺序:public protected 默认 private
父类的abstract必须被子类重写 否则子类也是abstract
父类的final不可以重写

多态

是同一个行为有不同的表现形式或形态的能力 ,同一消息对不同的发送对象有不同的行为方式应对
条件
(动多态)
继承
重写
向上造型(定义父类的引用 引用出来的父类接口 引用父类的对象 方法的实现是子类的实现方式)
静多态(静态绑定,编译期多态)
也就是方法重载 :同一个类有多个方法 函数名称相同,参数列表不同
也就是说参数不同,返回值是什么样由参数决定 具体调用方法由参数不同来看,更加灵活
动多态(动态绑定,运行时多态)
在代码运行的时候去灵活选择 不用修改程序源代码
优点
可以替换性,同一种行为,不同的对象有不同的表现形式
可扩展性,增加新的子类不影响之前的其它特性 一个行为结束之后,还可以有其他的行为
接口性,父类通过方法声明,子类都可以去调用
上面提到了重写和重载,区别
重写方法名相同,参数列表也相同。
重载方法名相同,参数列表不同
重写在父类子类中进行
重载在同一个类中进行

类的初始化顺序:
父类–静态变量/父类–静态初始化块
子类–静态变量/子类–静态初始化块
父类–变量/父类–初始化块
父类–构造器
子类–变量/子类–初始化块
子类–构造器

封装

包装,隐藏 利用抽象数据类型把数据和其的操作包装起来隐藏,对外提供接口便于调用,但是你无法去改变我本身。你不知道我内部是怎样的
主要通过权限修饰符:public 所有 公共的
protected 本类和同包其他类子类
默认 只对本类
private 对同一包内可见
优点
良好的封装减少耦合
类内部结构可以自由修改
可以对成员精确控制
隐藏关键信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值