抽象类

抽象类

  方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。那么此方法就是一个抽象方法

  当定义了抽象函数的类也必须被abstract关键字修饰,被abstract关键字修饰的类是抽象类

  抽象类定义的格式:abstract class 类名 {}   

  抽象方法定义的格式:public abstract 返回值类型 方法名(参数);

//研发部员工 
abstract class Developer {
	public abstract void work();//抽象函数。需要abstract修饰,并分号;结束
}

//JavaEE工程师
class JavaEE extends Developer{
	public void work() {
		System.out.println("正在研发淘宝网站");
	}
}

抽象类的特点

  1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。
  2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。
  3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。
  之所以继承抽象类,更多的是在思想,是面对共性类型操作会更简单

抽象类的细节问题

  1、抽象类一定是个父类? 是的,因为不断抽取而来的。
  2、抽象类中是否可以不定义抽象方法。是可以的,那这个抽象类的存在到底有什么意义呢?不让该类创建对象,方法可以直接让子类去使用
  3、抽象关键字abstract不可以和private ,final,static

原文地址:https://www.cnblogs.com/zqy6666/p/12058718.html