|
abstract类的几个特点: 1)abstract类中可以有abstract方法 与普通的类相比,abstract类可以有abstract方法.对于abstract方法,只允许声明,不允许实现,而且不允许使用final修饰abstract方法.下面的A类中的min()方法就是abstract方法 abstract class A { abstract int min(int x,int y); int max(int x,int y) { return x>y?x:y; } } 注意:abstract类中也可以没有abstract方法 2)对于abstract类,不能使用new运算符创建该类的对象,需产生其子类,由子类创建对象,如果一个类是abstract类的子类,它必须具体实现abstract方法,这就是为什么不允许使用final修饰abstract方法的原因.体会一下下面的例子: [code] abstract class A { abstract int min(int x,int y); int max(int x,int y) { return x>y?x:y; } } class B extends A { int min(int x,int y) //子类中具体实现了min()的功能 { return x<y?x:y; } } public class Example { public static void main(String args[]) { A a; B b=new B(); int max=b.max(12,34); int min=b.min(12,34); System.out.println("max="+max+" min="+min); a=b; max=a.max(12,34); System.out.println("max="+max); }
| |