抽象方法的概念
抽象方法主要指不能具体实现的方法并且使用abstract关键字修饰,也就是没有方法体。
格式
访问权限 abstract 返回值类型 方法名(形参列表);
public abstract void show();
抽象类的概念
抽象类主要指啊不能具体实例化的类并且使用abstract关键字修饰,也就是不能创建对象。
public abstract class Abstracttest{
//定义一个抽象方法
}
抽象类和抽象方法的关系
抽象类中可有成员变量、构造方法、成员方法
public abstract class Abstracttest{
private int abs;
public Abstracttest(){
}
public Abstracttest(int abs){
setAbs(abs);
}
public int getAbs(){
return abs
}
public void setAbs(int abs){
this.abs=abs;
}
}
抽象类中可以没有抽象方法,也可以有抽象方法
public abstract class Abstracttest{
private int abs;
public Abstracttest(){
}
public Abstracttest(int abs){
setAbs(abs);
}
public int getAbs(){
return abs;
}
public void setAbs(int abs){
this.abs=abs;
}
public abstract void show();//可以有抽象方法也可以没有。
}
拥有抽象方法的类必须是抽象类。
public class test{
public abstract void show();//错误写法
}
抽象类的意义
抽象类的实际意义不在于创建对象而在于被继承。
public class abs extends Abstracttest{
@Override
public void show() {
}
}
当一个类继承抽象类以后必须重写抽象方法,否则该类也应该是抽象类,也就是抽象类对于子类具有强制性和规范性。
注意
private 和 abstract 不能共同修饰一个方法。
final 和 abstract 不能共同修饰一个方法。
final 和 abstract 不能共同修饰一个类。
static 和 abstract 不能共同修饰一个方法。