Java15-java语法基础(十四)抽象类

Posted Rainy113

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java15-java语法基础(十四)抽象类相关的知识,希望对你有一定的参考价值。

 Java15-java语法基础(十四)抽象类

一、抽象类的作用

    三个类都有"执行任务"的方法,分别在这三个类中进行定义,因此需要重复编写代码,降低了程序开发效率,且增加了程序出现错误的机会。

    利用抽象类解决该问题。

 

二、抽象类和抽象方法

1、抽象类:抽象类刻画了公共行为的特征,但并没有在抽象类的内部实现这些公共行为,而是通过继承机制由派生类实现具体的公共行为。

2、抽象方法:凡是用abstract修饰的成员方法都是抽象方法,只声明方法而没有方法的具体实现。

3、语法:

 [访问控制修饰符] abstract class 类名{

    [访问控制修饰符] 返回值类型 方法名([参数]){方法体}   //普通方法

[访问控制修饰符] abstract 返回值类型 方法名([参数]);   //抽象方法

}

强调:

(1)抽象类中可以有抽象方法,也可以有普通方法;

(2)抽象方法只有声明,没有实现;普通方法有具体的实现即方法体。

 

三、抽象类、抽象方法的限制

1、如果一个非抽象类继承了抽象类,必须覆写并实现父类的所有抽象方法;

2、如果一个抽象类继承了抽象类,可以不覆写父类的抽象方法,只需要将基类的抽象方法再次声明为抽象的即可;

3、抽象类既可以包含抽象方法,也可以包含非抽象方法;

4、如果一个类中有抽象方法,则这个类必须声明为抽象类;

5、不可以用private修饰抽象方法,因为private修饰的方法时不可见的,无法在子类子类中覆写;

6、不可以用final修饰抽象类,因为final修饰的类不能被继承,这样的定义抽象类就没有意义了。

7、抽象类可以有构造方法,但用抽象类不能直接用构造方法进行实例化。

 

四、小结

1、设计抽象类的作用?

2、抽象类和抽象方法的关系?

3、设计抽象类需要注意的问题?

4、抽象类和接口的区别?

(1)抽象类是用来继承的

(2)接口是用来实现的

 

以上是关于Java15-java语法基础(十四)抽象类的主要内容,如果未能解决你的问题,请参考以下文章

疯狂Java讲义(十四)---- 抽象类和接口

零基础学Java—接口(二十四)

java抽象类

零基础学Java—Calendar类(三十四)

大数据必学Java基础(四十四):接口讲解

How Javascript works (Javascript工作原理) (十四) 解析,语法抽象树及最小化解析时间的 5 条小技巧