一、abstract的含义

首先,看到abstract,他的英文意思就是“抽象的”,在java中abstract的意思也是“抽象的”的意思。

二、为什么会出现abstract

当父类的某些方法不确定时,用abstract进行修饰,子类去实现自己的这些方法,
比如,有一个动物类,动物都要叫,这个时候需要一个叫的方法,但是问题来了,每种动物叫的方式不一样,如猫是‘喵~喵’,狗是‘旺,旺’,这个时候为了解决这个问题,人们就想出了用abstract修饰这个动物类,然后猫,狗分别继承这个类,并且实现这个方法,便可以解决这个问题。
所以,抽象类是为了把相同的但不确定的东西的提取出来,为了以后的重用。定义成抽象类的目的,就是为了在子类中实现抽象类。
我们首先从两个方面来认识,即abstract修饰类,abstract修饰方法

一、abstract修饰类

格式
和定义普通类一样,只需要添加关键字abstract

abstract class 类名称{
	
}

abstract修饰的类需要注意:

  • abstract修饰符在修饰类时必须放在类名前
  • 被abstract修饰的类不能创建对象,这个类不能实例化对象
  • 抽象类里面可以有抽象方法,也可以有普通方法
  • 如果一个类中有被abstract修饰的方法时,这个类必须为抽象类
  • 子类继承父类(抽象类)时,必须复写抽象方法,如果不重写,那么,这个类一定也必须定义为抽象类

四、abstract修饰方法

格式:

class abstract A{
	public abstract void 方法名();

}

abstract修饰的方法需要注意:

  • 被abstract修饰的方法不能为被final,static,private修饰
  • 被修饰的方法不能有方法体,必须以‘;’作为结束
  • 父类的方法被abstract修饰时,子类继承父类,必须重写该方法,否则,子类就必须也声明被abstract修饰
  • 抽象方法必须在抽象类中,但抽象类可以包含普通的方法