JAVA的三大特性:封装,继承,多态。
封装
1.定义:
在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
2.封装的优点:
a.良好的封装能够减少耦合。
b. 类内部的结构可以自由修改。
c. 可以对成员变量进行更精确的控制。
d. 隐藏信息,实现细节。
3.如何封装:
EncapsulationClass就是一个封装类;该类将它的内部属性name和age用private关键字进行了修饰,从而让外界无法直接获取其内部属性name和age的值,再用public关键字修饰内部方法get和set方法,提供了让外界可以获取和更改该类内部属性name和age的值的方法。

封装后的外界访问情况;

未封装外界的访问情况;

继承
1.定义:
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
2.类的继承格式:
在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:
class 父类 { }
class 子类 extends 父类 { }
3.继承的特性:
a. 子类拥有父类非 private 的属性、方法。
b. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
c. 子类可以用自己的方式实现父类的方法。
d. Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类, 多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类 的 父类,B 类是 A 类的父类。
e. 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代 码独立性越差)
关于继承的详细内容可以查看菜鸟教程中的java继承这一部分。
链接地址如下:
多态
1.定义:
多态是同一个行为具有多个不同表现形式或形态的能力;多态就是同一个接口,使用不同的实例而执行不同操作。
比如人分为黑种人,白种人,黄种人。但是不管是哪种人他们都是属于人类,而每个不同的人种属于人类这个人物种的一种表现形态。
2.多态可以存在的条件:
继承;重写;父类引用指向子类对象
3.实际案例:
父类如下:

子类如下:

测试类如下:

结论:
a. 多态中成员的特点多态成员变量:编译运行看左边
b.多态成员方法:编译看左边,运行看右边
测试类中创建实例对象 Father fathertoson = new Son() 从右往左看这是一种向上转型; 是一种父类实例对象指向子类对象;System.out.println(fathertoson.a) 结果也是指向父类的a属性。fathertoson.FatherSay1()这个方法结果却是调子类的重写方法。
4.多态的转型:
上面只是说了一种向上转型,其实多态的转型分为向上和向下。这里给大家列出来。
多态的转型分为向上转型和向下转型两种
a.向上转型:多态本身就是向上转型过的过程
使用格式:父类类型 变量名=new 子类类型();
适用场景:当不需要面对子类类型时,通过提高扩展性,或者使用父类的功能就能完成相应的操作。
b.向下转型:一个已经向上转型的子类对象可以使用强制类型转换的格式,将父类引用类型转为子类引用各类型
使用格式:子类类型 变量名=(子类类型) 父类类型的变量;
适用场景:当要使用子类特有功能时。
网友评论