A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

是否可同时是synchronized? 在学习到线程中时,突然想到这个样一个问题...

3 个回复

倒序浏览
java为了不让抽象方法被调用,强制抽象方法所在的类也必须抽象,这样就不能建立对象,也就不能调用抽象方法了
给抽象方法加static不是可以通过类名.方法名调用它了吗,如果可以的话你让java情何以堪.
给一个没有方法体的方法加同步没什么意义
回复 使用道具 举报
都不能。

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

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报 1 0


abstract 修饰的方法是没有方法体的  而他的类也必须是abstract的
如果这个抽象方法被static修饰 那么就违背了 静态有限与对象加载到内存的
因为抽象类被实现了 才能创建对象   所以static不能修饰抽象方法
  同理  也不能用 synchronized 修饰  因为抽象方法没有方法体  里面都没有要同步的代码
        native 还没学到 不晓得
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马