abstract 的应用
在 java 中 abstract 关键字用于润饰类和办法
abstract class person{// 润饰类,该类为抽象类
String name;
int age;
public abstract void eat() ;// 润饰办法,该办法为形象办法
public abstract void sleep();
public void run() {System.out.println("跑步");
}
}
被 abstract 润饰的特点
1、抽象类
1)抽象类与一般类的不通电在于无奈进行实例化,其余与一般类无异。
2)因为抽象类不能实例化对象,所以抽象类必须被继承,能力被应用。然而如果抽象类中有形象办法,子类中要对形象父类中的所有形象办法进行重写并赋予办法体,子类能力成为能够实例化的一般类;不然子类也只能被 abstract 润饰成为形象子类,无奈实例化。
2、形象办法
1)形象办法没有办法体,
2)领有形象办法的类肯定是抽象类,但抽象类不肯定领有形象办法
3)在子类继承形象父类时,形象办法必须全副被赋予办法体重写能力实例化对象。
abstract 关键字的利用场景总结
形象办法只是申明了一个办法,但不提供具体怎么实现,具体实现由继承的子类负责;而领有一个或者多个形象办法的类就是抽象类。
// 设计抽象类规范
abstract class person{
String name;
int age;
int number;
public abstract void sum();// 这里规定要用加法
public abstract void count();// 这里规定要数数}
// 依据形象办法的规范填充内容
class stu extends person{public void sum() {// 重写的办法体要填充上加法的具体方法
number = 1;
int quantity;
quantity = number+number;
System.out.println(quantity);
}
public void count() {// 重写的办法体要填充上数数的具体方法
int quantity;
quantity = age+age;
System.out.println(quantity);
}
}
abstract 关键字的应用留神点
1、abstract 不能润饰公有办法、静态方法、final 的办法;
2、abstract 不能润饰属性、结构器,除了办法和类,都不能润饰;