zoukankan      html  css  js  c++  java
  • interface & abstract class 为什么不能包含static 方法!

    interface & abstract class 不能包含static 方法!
    abstract class A {
    static void doSomething() ;
    }
    不能通过编译是因你没有定doSomething 的方法体,比如该语句最后你加上{},就可以了用了.这时doSomething A的一个方法.
    如果你想把它定义为一个抽象方法那你必它的候使用关键abstract.如果你想定一个方法同使用关键abstract static 不到的.你想想,static 方法是方法,它是不允覆写(override)的(所以必在定实现),而abstract方法,是只有特征,没有实现的方法,是必由子来覆写的,两者是水火不相容的,sun当然不会允一个同时为abstract static 的方法。

    至于接口和抽象类还有点不同,因它是粹的设计,不及任何的实现,它所有的方法都是共有和抽象的(关键publicabstract可以省略)所以接口不能有static方法(方法),上面提到的static void doSomething(){};在抽象中可以存在,但是在接口中是不允的。

    便提以下,在接口中可以定staic的属性的。实际上接口中定的属性必static,finalpublic的(因是必的,所以3关键字也都是可以省略的)

    一:static不能和abstract
    二:interface是更抽象的抽象,接口的所有方法都未实现,接口的方法默认为public abstract ,根据原一,当然不能是static了;
    三:抽象是部分实现的,其中nonabstract方法可以staticabstract方法不能static
  • 相关阅读:
    一个票据打印实例
    页面刷新,保持页面位置
    HTML页面跳转
    DataTable帮助类
    使用cookie保存用户名状态
    DataTable实现数据统计
    Coolite Toolkit学习笔记九:表单布局控件FormLayout与FromPanel
    QQ趣事
    看到几篇关于Ajax介绍的文章,转贴过来
    积极的生活着
  • 原文地址:https://www.cnblogs.com/Tonyyang/p/1256474.html
Copyright © 2011-2022 走看看