抽象类
概念:抽象类不能被实例化,表达的是抽象的概念
语法:
<访问修饰符> abstract class 类名{
}
示例:
public abstract class Animal {
public void bark(){ //叫 普通方法
System.out.println("动物叫的方法");
}
//吃的抽象方法
public abstract void eat();
}
注意:
抽象类中可以有普通方法,也可以有抽象方法,抽象方法所在的类必须是抽象类
子类必须实现父类的抽象方法,除非子类也是抽象类
final修饰符
概念:
final修饰的类不能被继承
final修饰的方法不能被重写
修饰的变量变成常量,声明的同时必须赋值 ,不能修改
abstract是否可以跟private,static ,final一起使用?
public static abstract void eat(); //static和abstract不能同时使用
private abstract void eat(); //abstract为了子类重写,不能是private
public final abstract void eat(); //abstract为了子类重写,final不能被重写,所以不能同时使用