抽象类的描述:抽象类用来描述一种类型应该具备的基本特征与功能, 具体如何去完成这些行为由子类通过方法重写来完成!
抽象类的一个明显的特征就是有一个 abstract 关键字 修饰类
public abstract class TestAbstract {
}
这个就是抽象类的创建样子
抽象类既可以创建抽象方法 又可以创建非抽象方法
区别在于 有无abstract关键字修饰
抽象方法是没有方法体的 它只提供一些大概的方法结构,具体的方法逻辑实现是由继承的子类自己去完成
非抽象方法就是普通的方法
public abstract class TestAbstract {
public abstract String testAbcstract(String name);
public String testAbcstract(String name,String age){
return null;
}
}
如果一个普通类继承一个抽象类 那么这个类 必须实现其抽象方法 否则会报错
public class ExtendDemoOne extends TestAbstract {
@Override
public String testAbcstract(String name) {
return null;
}
}
抽象类当然也可以创建属性
public abstract class TestAbstract {
private String name;
private String agt;
public abstract String testAbcstract(String name);
public String testAbcstract(String name,String age){
return null;
}
}
那抽象类继承抽象类呢?
如果一个抽象类继承了另一个抽象类 那么不需要强制实现它的抽象方法
public abstract class ExtendDemoTwo extends TestAbstract {
}
是不会报错
项目中 是没见过这么用的 都是一个具体的普通类去继承抽象类
当然抽象子类肯定是可以重新父类方法的
public abstract class ExtendDemoTwo extends TestAbstract {
@Override
public String testAbcstract(String name) {
return null;
}
@Override
public String testAbcstract(String name, String age) {
return super.testAbcstract(name, age);
}
}