JAVA的三大特性

JAVA的三大特性:封装,继承,多态。


封装

1.定义: 

在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。封装最主要的功能在于我们能修改自己的实现代码,而不用修改那些调用我们代码的程序片段。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

2.封装的优点:

   a.良好的封装能够减少耦合。

   b. 类内部的结构可以自由修改。

   c. 可以对成员变量进行更精确的控制。

   d. 隐藏信息,实现细节。

3.如何封装:

EncapsulationClass就是一个封装类;该类将它的内部属性nameageprivate关键字进行了修饰,从而让外界无法直接获取其内部属性nameage的值,再用public关键字修饰内部方法getset方法,提供了让外界可以获取和更改该类内部属性nameage的值的方法。

附图1

封装后的外界访问情况;

附图2

未封装外界的访问情况;


附图3



继承

1.定义:

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。 

2.类的继承格式:

在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:

class 父类 {  } 

class 子类 extends 父类 {  } 

3.继承的特性:

a. 子类拥有父类非 private 的属性、方法。

b. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。

c. 子类可以用自己的方式实现父类的方法。

d. Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,        多重继承就是,例如 A 类继承 B 类,B 类继承 C 类,所以按照关系就是 C 类是 B 类        的 父类,B 类是 A 类的父类。

e. 提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代        码独立性越差)

关于继承的详细内容可以查看菜鸟教程中的java继承这一部分。

链接地址如下:

https://www.runoob.com/java/java-inheritance.html



多态

1.定义:

多态是同一个行为具有多个不同表现形式或形态的能力;多态就是同一个接口,使用不同的实例而执行不同操作。

比如人分为黑种人,白种人,黄种人。但是不管是哪种人他们都是属于人类,而每个不同的人种属于人类这个人物种的一种表现形态。

2.多态可以存在的条件:

继承;重写;父类引用指向子类对象

3.实际案例:

父类如下:

父类

子类如下:

子类

测试类如下:

测试结果

结论: 

a. 多态中成员的特点多态成员变量:编译运行看左边       

b.多态成员方法:编译看左边,运行看右边

测试类中创建实例对象   Father fathertoson = new Son()  从右往左看这是一种向上转型; 是一种父类实例对象指向子类对象;System.out.println(fathertoson.a) 结果也是指向父类的a属性。fathertoson.FatherSay1()这个方法结果却是调子类的重写方法。

4.多态的转型:

上面只是说了一种向上转型,其实多态的转型分为向上和向下。这里给大家列出来。

多态的转型分为向上转型和向下转型两种

a.向上转型:多态本身就是向上转型过的过程

          使用格式:父类类型 变量名=new 子类类型();

          适用场景:当不需要面对子类类型时,通过提高扩展性,或者使用父类的功能就能完成相应的操作。

b.向下转型:一个已经向上转型的子类对象可以使用强制类型转换的格式,将父类引用类型转为子类引用各类型

          使用格式:子类类型 变量名=(子类类型) 父类类型的变量;

         适用场景:当要使用子类特有功能时。



                                                                          

你可能感兴趣的:(JAVA的三大特性)