欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

抽象类的介绍以及匿名类对象

时间:2023-06-16

abstract关键字:抽象的
1.abstract可以用来修饰的结构:类、方法

2.abstract修饰类:抽象类

此类不能实例化(创建对象new对象)
抽象类中一定有构造器,便于子类对象实例化(创建对象new对象)调用
开发中,都会提供抽象类的子类,让子类实例化,完成相关的操作

3.abstract修饰方法:抽象方法

抽象方法只有方法的声明,没有方法体
有抽象方法的类一定是抽象类,反之抽象类中可以没有抽象方法
例如:

public abstract class AbatractDemo{public abstract void Method();//没有方法体}

4.如果子类继承了一个抽象类(有抽象方法)

重写所有父类的抽象方法,使得子类可以实例化
或者将子类也abstract

5.abstract使用注意点:

abstract不能修饰属性、构造器等结构
abstract不能修饰私有方法、静态方法、final的方法、final的类

面试题:

①.为什么抽象类不可以使用final关键字声明?
答:抽象类就是为了给子类继承使用的,如果使用final修饰就变成了不可继承的类

②.一个抽象类中可以定义构造器吗?
答:可以,一切类都有构造器,子类可以调用父类的构造器

③抽象类就是比普通类多定义了抽象方法,除了不能直接进行类的实例化操作之外,并无其他不同?
答:加入了abstract只是为了明确告诉继承的子类一定要重写某些抽象方法。其实抽象类也可以没有抽象方法。

匿名类(一次性用品)
场景:父类是abstract(抽象)类,子类继承了abstract的父类去实例化时:

//创建了一个匿名子类的对象pPerson p = new Person(){//这里面的方法是重写父类中抽象的方法};

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。