目录
一、抽象类的产生
二、抽象类和抽象方法的定义
1、抽象类的定义格式
2、抽象方法的定义格式
3、示例
三、抽象类的特点
四、抽象类的细节问题
1、抽象类一定是一个父类吗?
2、抽象类中是否可以不定义抽象方法?
3、抽象关键字abstract不能与哪些关键字共存?
一、抽象类的产生
当事务出现了共性,可以进行向上抽取。当方法功能声明相同,但方法功能主题不同时,这时候只抽取方法声明,不抽取方法主体,那么这个方法就是一个抽象方法
二、抽象类和抽象方法的定义
1、抽象类的定义格式
abstract class 类名
2、抽象方法的定义格式
abstract 返回值类型 方法名(参数);
3、示例
abstract class Employlee {
public abstract void work();
}
class Developer extends Employlee{
public void work(){
System.out.println("开发人员正在研发新的产品");
}
}
class Maintainer extends Employlee{
@Override
public void work() {
System.out.println("维护人员正在检查网络和硬件设备");
}
}
三、抽象类的特点
abstract class 类名
2、抽象方法的定义格式
abstract 返回值类型 方法名(参数);
3、示例
abstract class Employlee {
public abstract void work();
}
class Developer extends Employlee{
public void work(){
System.out.println("开发人员正在研发新的产品");
}
}
class Maintainer extends Employlee{
@Override
public void work() {
System.out.println("维护人员正在检查网络和硬件设备");
}
}
三、抽象类的特点
abstract class Employlee {
public abstract void work();
}
class Developer extends Employlee{
public void work(){
System.out.println("开发人员正在研发新的产品");
}
}
class Maintainer extends Employlee{
@Override
public void work() {
System.out.println("维护人员正在检查网络和硬件设备");
}
}
三、抽象类的特点
抽象类和抽象方法都需要被abstract修饰。抽象方法一定是定义在抽象类里面的。抽象类不可以直接创建对象。原因:抽象方法调用没有意义。子类必须重写了所有的抽象方法,才可以创建对象,否则,这个子类还是一个抽象类。
四、抽象类的细节问题
1、抽象类一定是一个父类吗?
是的,因为抽象类是不断抽取而来的。
2、抽象类中是否可以不定义抽象方法?
是可以的,那么这个抽象类存在的意义是什么呢? 不让该类创建对象
3、抽象关键字abstract不能与哪些关键字共存?
private(私有的方法是无法继承的)static(不需要对象,直接用类名调用)final(被final修饰的类没有子类)
总结:
抽象类&抽象方法:abstract修饰抽象类的特点:
抽象类和抽象方法都必须使用abstract修饰抽象类不能直接创建对象抽象类可以有抽象方法,也可以没有抽象方法抽象类的子类 A.实现了抽象方法的抽象类 B、抽象类



