java基础01 java的三大特性

java基础01 java的三大特性,第1张

java基础01 java的三大特性

文章目录

封装(Encapsulation)继承(inheritance)多态(polymorphism)深入理解多态和继承多重继承的弊端

封装(Encapsulation)

一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法
java是面向对象的变成,在编码过程中具有共性的成员变量和方法都封装在对象中,同时用private关键字将属性异常,一般通过get set方法进行访问。

继承(inheritance)

通过extends或implement关键字,实现子类继承父类,避免重复代码。
注意以下几点:
①子类继承父类,继承的是父类的实例变量和方法,同时可以重写继承的方法,方法可以覆盖但是变量不可以。
②private default protected public 四个关键字 越往左 受限制程度越大 越往右受限制程度越小。
③implement可以继承接口类,同时继承的接口类必须要在子类得到实现。
④继承抽象类的具体类,要实现所有的抽象方法,同时只有在抽象类中才可以存在抽象方法(abstract)。

多态(polymorphism)

在面向对象语言中, 多态性是指一个方法可以有多种实现版本,即“一种定义, 多种实现”。 利用多态可以设计和实现可扩展的系统, 只要新类也在继承层次中。 新的类对程序的通用部分只需进行很少的修改, 或不做修改。 类的多态性表现为方法的多态性,方法的多态性主要有方法的重载和方法的覆盖。
重载:方法重载(overload)是指在同一个类中的多个方法可以同名但参数列表必须不同。 重载表现为同一个类中方法的多态性。
多态涉及到的关键字为Instanceof。例如A Instanceof B,可以判断B是不是A的子类。
通俗理解,两个类继承了同一个父类,但是可以对父类的方法进行重写,此时会出现继承同一个父类的同一个方法但是功能不同。同时一个类可能是多个父类的子类,也就是同一个类扮演不同的角色,即多态。

深入理解多态和继承

假如我们这里定义了一个Father类和一个Son类,则我们可以用Son类声明一个Father类对象

Father son=new Son();

但是此时定义的son类,只具备father带有的实例变量和方法,加入son中自己特有一个eat方法,在这里则无法实现。

同时我们日常所使用到的对象,基本上都是Object的子类,平时我们看不到继承的过程,这也就是隐含的继承对象。但是这里会有人疑问:为什么不再定义所有对象的时候都声明为Object呢?
在这里,如果我们全用的Object对象的时候,取回的也是Object对象,则相应对象的特定方法无法使用,虽然我们可以将取回的Object对象转化为我们需要的对象,但是过程更加麻烦,得不偿失。

多重继承的弊端

多重继承也就是继承多个父类,会导致出“致命方块”,也就是两个父类有一个相同的方法名,从而导致子类不知道该继承谁的方法。在这里可以用接口解决,接口是100%的抽象类,用interface关键字取代class,implements 后面用逗号隔开继承多个父类,使用super关键字调用父类的方法,引用父类对象。
同时注意,抽象类中可以有抽象的方法以及非抽象方法,声明抽象方法的时候,以分号结束。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5707540.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存