abstract class Aa{
abstract int min(int x,int y);//1.abstract类中可以有abstract方法
//求两个数的最大值
int max(int x,int y){
return x>y?x:y;
}
}
//类B继承A
class B extends Aa{
//求两个数的最小值
int min(int x,int y){
return x<y?x:y;
}
}
public class EXP11 {
//Java程序入口
public static void main(String[] args) {
Aa a;
//a=new Aa();非法,2.abstract修饰的类不能用new创建对象
B b=new B();
int max=b.max(12, 24);
int min=b.min(12, 24);
System.out.println("max"+max+"min"+min);
a=b;//a转化为b的上转型对象
max=a.max(24, 12);
System.out.println("max"+max);
}
}
一个abstract类只关心它的子类能否具有某种功能,并不关心功能的具体行为,功能的具体行为由子类负责实现,抽象类中的抽象方法可以强制子类必须给出这些方法的具体实现。