Java 面向对象 要点(高级篇)

活动地址:CSDN21天学习挑战赛

⚽️今天我们对Java面向对象高级部分做一下总结:

1、继承

继承可以扩充已有类的功能,通过extends关键字实现,可将父类的成员(包含数据成员与方法)继承到子类。

2、子类对象的实例化

Java在执行子类的构造方法前会先调用父类中无参的构造方法,其目的是为了对继承自父类的成员做初始化的操作。

3、super关键字

父类有多个构造方法时,如要调用特定的构造方法,则可在子类的构造方法中通过 super()关键字来实现。

4、this和super关键字异同

不同点:
(1)this()用于在同一类内调用其他的构造方法,而super()则用于从子类的构造方法中调用其父类的构造方法。
(2)使用this调用属性或方法时会先从本类中查找,如果本类中没有查找到,再从父类中查找,而使用super则会直接从父类中查找需要的属性或方法。
相似点:
(1)当构造方法有重载时,两者均会根据所给予的参数的类型与个数正确地执行相对应的构造方法。
(2)两者均必须编写在构造方法内的第1行,也正是这个原因,this()与super()无法同时存在在同一个构造方法内。

5、重载(overloading)

重载是指在相同类内定义名称相同但参数个数或类型不同的方法,因此,Java可依据参数的个数或类型调用相应的方法。

6、覆写(overriding)

覆写是在子类当中定义名称、参数个数与类型均与父类相同的方法,用以覆写父类中的方法。

7、final关键字

(1)如果父类的方法不希望被子类覆写,可在父类的方法前加上final关键字,这样该方法便不会被覆写。
(2)final的另一个功能是把它加在数据成员变量前面,这样该变量就变成了一个常量,因此便无法在程序代码中再做修改了。使用public static final可以声明一个全局常量。

8、Obiect类

所有的类均继承自Object类。一个好的类应该覆写Object类中的toString()、 equals()、hashCode() 3个方法,所有的对象都可以向Object类进行向上转型。

9、抽象类

(1)Java可以创建抽象类,专门用来当作父类。抽象类的作用类似于“模板",其目的是依据其格式来修改并创建新的类。
(2)抽象类的方法可分为两种,一种是一般的方法,另一种是以abstract关键字开头的抽象方法。抽象方法并没有定义方法体,而是要保留给由抽象类派生出的新类来定义。
(3)抽象类不能直接用来产生对象,必须通过对象的多态性进行实例化操作。

10、接口

(1)接口是方法和全局常量的集合,接口必须被子类实现,一个接口可以同时继承多个接口,一个子类可以同时实现多个接口。
(2)Java并不允许类的多重继承,但是允许实现多个接口。
(3)接口与一般类一样,均可通过扩展的技术来派生出新的接口。原来的接口称为基本接口或父接口;派生出的接口称为派生接口或子接口。通过这种机制,派生接口不仅可以保留父接口的成员,同时也可以加入新的成员以满足实际的需要。

11、多态性

Java对象的多态性分为向上转型(自动)和向下转型(强制)。

12、instanceof关键字

通过instanceof关键字可以判断对象属于哪个类。

13、匿名内部类

匿名内部类的作用是可利用内部类创建不具有名称的对象,并利用它访问类中的成员。

面向对象部分学习完毕!再做点练习题就ok啦!

Java 面向对象 要点(高级篇)_第1张图片

你可能感兴趣的:(java,jvm,开发语言)