final-完结器,表示最终的意思
final能声明类、方法、属性,用final声明的类不用被继承、重写、声明的变量为常量,不能被修改
final class People{
public final void tell() {
}
class Student extends People{
public void tell() {
}
错误案例,final定义的类不能被继承
final String NAME="123";
NAME="321";
错误案例,final定义的变量为常量,不能被修改
抽象类:包含一个抽象方法的类
抽象方法:声明而未被实现的方法,通过abstract关键字声明
/抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法
格式:
abstract class NAME{
属性、方法
抽象方法
}
抽象类不能直接实例化,通过其子类进行实例化
案例:
abstract class Abs{
private int age;
public void tell() {
}
//抽象方法:
public abstract void say();
}
class AbsDemo extends Abs{
public void say() {//必须重写抽象类的抽象方法
}
}
public class Test02 {
public static void main(String[] args) {
//Abs A=new Abs();//不能直接实例化
AbsDemo A=new AbsDemo();
A.say();
}