zoukankan      html  css  js  c++  java
  • abstract的方法是否可同时是static,是否可同时是native,是否可同时是synchronized?

    1、abstract与static

         (what)

         abstract:用来声明抽象方法,抽象方法没有方法体,不能被直接调用,必须在子类overriding后才能使用

         static:用来声明静态方法,静态方法可以被类及其对象调用

         (how)

         static与abstract不能同时使用

         (why)

          用static声明方法表明这个方法在不生成类的实例时可直接被类调用,而abstract方法不能被调用,两者矛盾。

    2、abstract与native

         (what)

         native:用来声明本地方法,该方法的实现由非java 语言实现,比如C。一般用于java与外环境交互,或与操作系统交互

         (how)

          native 可以与所有其它的java 标识符连用,但是abstract除外。     

          (why)

          因为native 暗示这些方法是有实现体的,只不过这些实现体

          是非java 的,但是abstract却显然的指明这些方法无实现体。

    3、abstract与synchronized

          (what)

          synchronized:用于防止多个线程同时调用一个对象的该方法,与static连用可防止多个线程同时调用一个类的该方法

          (how)

          abstract与synchronized不能同时使用

          (why)

           从synchronized的功能也可以看出,用synchronized的前提是该方法可以被直接调用,显然和abstract连用

    转载:http://blog.csdn.net/fhm727/article/details/5222965

  • 相关阅读:
    AcWing 157. 树形地铁系统 (hash判断树同构)打卡
    AcWing 156. 矩阵 (哈希二维转一维查询)打卡
    AcWing 144. 最长异或值路径 01字典树打卡
    AcWing 143. 最大异或对 01字典树打卡
    AcWing 142. 前缀统计 字典树打卡
    AcWing 139. 回文子串的最大长度 hash打卡
    AcWing 138. 兔子与兔子 hash打卡
    常用C库函数功能及用法
    编程实现C库函数
    C语言面试题5
  • 原文地址:https://www.cnblogs.com/luckypo/p/7581765.html
Copyright © 2011-2022 走看看