goback add

JAVA新手入门(3)

3409 点击·0 回帖
灯火互联
楼主


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);
   }

喜欢0 评分0