灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2876回复:0

[系统教程]JAVA新手入门(3)

楼主#
更多 发布于:2012-09-08 08:08


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
游客

返回顶部