原文:http://blog.csdn.net/fhm727/article/details/5222965

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连用

转载:abstract的方法是否可同时是static,是否可同时是native,是否可同时是synchronized?的更多相关文章

  1. abstract的方法是否可同时是static,是否可同时是native,是否可同时是synchronized?

    1.abstract与static (what) abstract:用来声明抽象方法,抽象方法没有方法体,不能被直接调用,必须在子类overriding后才能使用 static:用来声明静态方法,静态 ...

  2. abstract的方法是否可同时是static 是否可同时是native 是否可同时

    搬一下以前写的 1.abstract与static (what)​ abstract:用来声明抽象方法,抽象方法没有方法体,不能被直接调用,必须在子类overriding后才能使用 static:用来 ...

  3. 【Java面试题】10 abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

    1.abstract是抽象的,指的是方法只有声明而没有实现,他的实现要放入声明该类的子类中实现. 2.static是静态的,是一种属于类而不属于对象的方法或者属性 3.synchronized 是同步 ...

  4. abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?

    abstract的method不可以是static的,因为抽象的方法是要被子类实现的,而static与子类扯不上关系! native方法表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实 ...

  5. abstract修饰方法总结

    abstract这种方法修饰,主要用在抽象类和抽象方法. 抽象的类是不可实例化的比如 public abstract class Test{ } 他能够含有抽象的方法 public abstract ...

  6. abstract修改方法

    abstract这种方法修饰,主要用在抽象类和抽象方法. 抽象的类是不可实例化的比如 public abstract class Test{ } 他能够含有抽象的方法 public abstract ...

  7. 【转载】StringUtils方法介绍

    org.apache.commons.lang.StringUtils中方法的操作对象是java.lang.String类型的对象,是JDK提供 的String类型操作方法的补充,并且是null安全的 ...

  8. [转载]机器学习优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam

    [转载]机器学习优化方法总结:SGD,Momentum,AdaGrad,RMSProp,Adam https://blog.csdn.net/u010089444/article/details/76 ...

  9. 是否可从一个static方法内发出对非static方法的调用?

    不可以.因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用.也就是说,当一个static方法被调用时, ...

随机推荐

  1. C++ 中的导致编译错误汇总

    多少年来,各路英雄好汉,八方神犇大佬,在CE中饮恨退役. OI的CE,还是那样熟悉的味道. (博主只能想到这么多,欢迎大家来补充) 1.变量名和内置函数冲突?!?! C++内置函数很多很多,许多你不知 ...

  2. CF 1000

    水爆了...... 当然不是题目水,而是我水. 第一题,看完题目我稍微惊了一下,有点难度(并不). 开个map,先加后减,统计正数即可. 第二题,看完我冷汗就流下来了,有点难啊,这是B难度? 趴床上推 ...

  3. (转)Java程序员的面试经历和题库

    背景:最近我在找工作,前期就像打了鸡血的一样,隔一段时间没有面试,就又松懈了下来,看到别人写的面经,感觉就像打脸一般,以后要多多总结前人的经验,时刻保持压力状态才是. 作者:nuaazhaofeng2 ...

  4. hiho一下 第144周(机会渺茫)解题报告及拓展

    题目1 : 机会渺茫 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在追求一名学数学的女生小Z.小Z其实是想拒绝他的,但是找不到好的说辞,于是提出了这样的要求: ...

  5. 【推荐】使用Ultrapico Expresso学习正则表达式

    Ultrapico Expresso是我工作中经常使用的一个非常强大的正则表达式构建.测试以及代码生成工具.它能够对你构建的正则表达式进行解析.验证,并输出解析结果,提供性能测试工具,支持C#.VB等 ...

  6. request请求地址

    1.String contextPath = httpServletRequest.getServletContext().getContextPath(); /项目名称 2.String conte ...

  7. Jenkins发送邮件

    Jenkins发送邮件 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.配置并发执行任务数量 1>.点击系统管理 2>.点击系统设置 3>.修改执行者数量为: ...

  8. Nginx+Swoole服务器配置

    nginx 配置 server { listen 80; server_name www.swoole.com; root /data/wwwroot/www.swoole.com; location ...

  9. Hibernate or 的用法

    转自baidu estrictions.or(Restrictions.like(),Restrictions.or(Restrictions.like,........))里面的or可以无限加的.还 ...

  10. 20155205 2016-2017-2 《Java程序设计》第5周学习总结

    20155205 2016-2017-2 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 如果没有try的话,出现异常会导致程序崩溃,而try则可以保证程序的正常运行下去.( ...