java-abstract修饰符

1、abstract修饰符

abstract是Java中的一个修饰符,表示“抽象的”,只能用来修饰类和方法,不能修饰属性。如果用来修饰类,表示该类是一个抽象类;如果用来修饰方法,表示该方法是一个抽象方法。

但是我们要注意,并不是所有的类和方法,都可以用abstract来修饰。其中,private私有的、static静态的、final方法和final类,都不能用abstract来修饰!因为这些修饰符,不需要被继承下来重写

2、抽象类

abstract关键词表示该类是抽象的,class_name是抽象类的名称,介于接口和类之间

Java的抽象类有很多重要的特性,我们需要熟练掌握,比如:

1)、抽象类不能被实例化,即不能创建抽象类的对象,一般是由子类进行实例化完成相关操作,声明抽象类的目的主要是为了对该类进行扩展;

 抽象类中可以有N个抽象方法,也可以有N个非抽象方法,抽象方法并不是必须的;

2)、抽象类中可以没有抽象方法,但如果一个方法是抽象方法,其所在的类必须是抽象类,否则编译阶段就报错;

3)、由于抽象类不能实例化对象,所以抽象类必须被继承后才能被使用;

4)、如果一个类继承了抽象类,该类要么重写抽象类中的所有抽象方法,要么自己也抽象化;

5)、一个类不能同时被abstract和 final 修饰,因为抽象类需要被子类继承,而final类不能被继承。

例子:

3、 抽象方法

1. 简介

抽象方法是一种没有任何实现的方法,该方法的具体实现由子类来完成。抽象方法由abstract修饰,不能和final、static、private共同使用。如果一个类包含了若干个抽象方法,那么该类必须声明为抽象类,但抽象类中可以不包含抽象方法。

2. 语法

我们定义抽象方法的基本语法格式如下所示:

抽象方法不能是private私有的,因为抽象方法必须由子类重写实现。abstract关键词表示该方法是抽象的,method_name是抽象方法的名称,抽象方法的声明以分号结尾。

3. 特性

抽象方法具有如下几个特性:

● 抽象方法由abstract修饰,不能和final、static、private关键词共同使用;

● 抽象方法只有方法的声明,但没有方法体;

● 抽象方法必须存在于抽象类中;

● 子类继承父类时,必须重写父类中所有的抽象方法,除非自己也是抽象类;

五. 结语

至此,我们就把abstract修饰符相关的内容给大家介绍完毕了,最后我们梳理一下本文的关键点:

● 抽象类和抽象方法都要使用abstract关键字声明;

● 抽象类不能被实例化,不能使用 new关键字创建对象,抽象类的非抽象子类可以创建对象;

● 抽象类中不一定包含抽象方法,但有抽象方法的类必须是抽象类;

● 一个抽象类中可以有0~n个抽象方法,也可以有0~n个具体方法;

● 抽象类中的抽象方法只是声明,不包含具体实现;

● 构造方法、静态方法、final方法不能声明为抽象方法;

● 抽象类的子类必须实现抽象方法,除非该子类也是抽象类;

● 面向抽象编程使得调用者只须关心抽象方法的定义,而不必关心子类的具体实现。

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