Java的抽象类和抽象方法

         类的继承结构中,越往上的类越具有通用性,也就越抽象。当它抽象到一定的程度,就变成了一个概念和框架,不能再产生实例化的对象了。例如“交通工具”,就无法用它来产生一个实例。定义抽象类的方法作用是将一类对象的共同特点抽象出来,成为代表该类共同特性的抽象概念,其后在描述某一具体对象时,只要添加与其他子类对象的不同之处,而不需要重复类的共同性质。这样就使得程序概念层次分明,开发更高效。
       在抽象类中,可以有0个或多个抽象方法,也可以有普通的实例方法和静态方法,还可以有其他成员变量和构造方法。使用抽象类的唯一途径就是派生一个子类,如果这个子类实现了抽象类中所有的抽象方法,那么这个子类就是一个普通的类,它
可以用来创建对象,否则子类也是一个抽象类。
       下面是一个简单的实例。
        public abstract class absClass
        {
         abstract public void absfun();
 
         public void instance()
        {
          System.out.println("这是一个普通的实例方法");
         }
 
         public static void stFun()
        {
         System.out.println("这是一个普通的静态方法");
         }
         }

         public class implementABC extends absClass
        {
          public void absFun()
         {
          System.out.println("这是在子类中实现抽象方法");
         }
         }

         class testABS
         { 
         public static void main(String[] args)  
         {
         implementABC a = new implementABC();
  
         a.absFun();
         }
         }
        那么,我每次要用抽象类的时候,子类都需要把它的抽象方法实现一遍,如果我只需要其中几个方法,而不是全部,通常对那些没有用的方法实现时只给出一对花括号的空方法体。在Java中还有其它的方法解决吗?
        与抽象方法紧密相连的是抽象方法—它总是用在抽象类或接口中。抽象方法是一种只有方法声明而没有方法定义的特殊方法。通常的形式如下:
                                
abstract 访问权限 返回类型 方法名([参数列表]);
         声明抽象方法有以下几个限制:
         构造方法和静态方法不能声明为abstract;
         prIvate、final方法不能声明为abstract;
         抽象方法只能出现在抽象类或接口中。

         如果在抽象类中实现抽象方法,会怎样?结果是每次new它的子类时,都会调用父类的abstract方法。抽象类一个应用就是接口。

         实践是学习一门语言的最佳方法。在学习Java的过程中,在老师的引导下,遇到了新知识然后快速学习与应用,下次要学到GUI的编程,需要应用大量抽象类,希望在应用中更能深入理解抽象类。
   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值