密封类:
sealed 被继承类 permits可以被继承的类
public sealed class Animal permits Dog , Cat{
//定义一个 密封类 Animal, 只允许 Dog, Cat 继承
}
允许某个类的可以被 特定的类继承 ,子类必须是final或密封类(一般都用final),且 必须定义需要继承的子类
abstract 修饰(抽象)
抽象类
1.抽象类用 abstract 修饰,此类不能实例化
2.抽象类不能创建对象、但必须定义定义构造器,便于子类实例化是调用(子类对象实例化的过程)
3.抽象类使用前提:继承性
抽象方法
1.方法为抽象方法,此时该方法不能实现(不能实例化),具体实现由子类完成。
2.包含抽象方法的类,一定是一个抽象类。但是,抽象类中可以没有抽象方法的
3.子类 重写父类中的 所有抽象方法后,此子类才可以实例化(涉及到接口知识点,接口可以看成是特殊的抽象类)
4.若子类没重写父类中的所有的抽象方法,则此子类也是一个抽象类, 需要使用abstract修饰。
注意:
1.abstract不能用来修饰:属性、构造器等结构
2.abstract不能用来修饰私有方法、静态方法、final方法、final的类
public abstract class TuXing {
public abstract double zhouchang();
public double mianji(){
return 0;
}
}
关键字是有冲突的:
abstract与static 或者 final同时使用。
abstract 和 static 同时修饰类(内部类) ——可以。
static 和 final 同时 修饰 类,属性,方法 ——可以。
剩下的一律不可以同时修饰
abstract class Template{
//计算某段代码执行所需要花费的时间
public void spendTime(){
long start = System. currentTimeMillis();
this.code();//不确定的部分、易变的部分
long end = System. currentTimeMillis();
System.out.println