今天来谈谈最基础的东西,Java的三大特性,或者来说是Java在面向对象的特点
封装
什么是封装呢?在生活中,用简单的大白话来说就是将同样的东西或者说类似的东西进行装袋。
接下来用较为官方的话来说——封装(Encapsulation):在面向对象编程的时候,指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。
封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。
封装的优点
- 良好的封装可以降低类和类之间的耦合性;
- 隐藏信息,实现细节
- 对类中的成员变量有更好的控制
封装的步骤:
- 设置类以及类的变量,通常类的成员变量被设置成私有,防止外类访问或修改变量 。
- 外类可以通过getter和setter方法进行访问变量。
继承
继承,从名字上来看,肯定是要有继承的这一个状态,那就必须具有父类还有子类。也就是说子类继承父类。
官话来了:子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。回忆起自己在刚开始学的时候,对于继承也是很不懂,但通过巧妙的方法就使自己记住啦:子类继承父类的东西,既然是继承,那就需要继承父类的所有。当然子类是新生命的延续,那它也就可以有自己特有的特点啦。
继承的特点
- 子类拥有父类非private的方法和属性
- 子类可以对父类进行拓展
- 子类可以用自己的方法实现父类
- 子类是单继承的,只能有一个父类哦
- 提高了耦合性(和封装恰恰相反)
关键字:extends和implements
多态
一种事物的不同形态或者说是不同的本质相同,但表达不同就是多态。同一个行为具有多个不同表现形式或形态的能力
多态的优点
- 消除类之间的耦合性
- 接口性
- 灵活性
- 可扩充性
实现方式
- 重写
- 接口
- 抽象类和抽象方法