Java中的abstract关键字实例讲解

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类只关心它的子类能否具有某种功能,并不关心功能的具体行为,功能的具体行为由子类负责实现,抽象类中的抽象方法可以强制子类必须给出这些方法的具体实现。

猜你喜欢

转载自blog.csdn.net/qq_20799821/article/details/103051201