黑马程序员技术交流社区

标题: abstract的method是否可同时是static,是否可同时是native... [打印本页]

作者: 吴华二    时间: 2012-3-19 17:02
标题: abstract的method是否可同时是static,是否可同时是native...
是否可同时是synchronized? 在学习到线程中时,突然想到这个样一个问题...
作者: 段浩亮    时间: 2012-3-19 17:27
java为了不让抽象方法被调用,强制抽象方法所在的类也必须抽象,这样就不能建立对象,也就不能调用抽象方法了
给抽象方法加static不是可以通过类名.方法名调用它了吗,如果可以的话你让java情何以堪.
给一个没有方法体的方法加同步没什么意义
作者: 叶绍亮    时间: 2012-3-19 18:39
都不能。

abstract:用来声明抽象方法,抽象方法没有方法体,不能被直接调用,必须在子类overriding后才能使用
static:用来声明静态方法,静态方法可以被类及其对象调用
abstract的method 不可以是static的,因为抽象的方法是要被子类实现的,而static与子类没有关系!
native:表示该方法要用另外一种依赖平台的编程语言实现的,不存在着被子类实现的问题,所以,它也不能是抽象的,不能与abstract混用。
synchronized:应该是作用在一个具体的方法上才有意义

作者: 贠(yun)靖    时间: 2012-3-19 20:08


abstract 修饰的方法是没有方法体的  而他的类也必须是abstract的
如果这个抽象方法被static修饰 那么就违背了 静态有限与对象加载到内存的
因为抽象类被实现了 才能创建对象   所以static不能修饰抽象方法
  同理  也不能用 synchronized 修饰  因为抽象方法没有方法体  里面都没有要同步的代码
        native 还没学到 不晓得




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2