abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized
2015-09-29 10:39
316 查看
1,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized
都不可以,因为abstract申明的方法是要求子类去实现的,abstract只是告诉你有这样一个接口,你要去实现,至于你的具体实现可以是native和synchronized,也可以不是,抽象方法是不关心这些事的,所以写这两个是没有意义的。然后,static方法是不会被覆盖的,而abstract方法正是要子类去覆盖它,所以也是没有意义的。所以,总的来说,就是java语法不允许你这样做,事实上,也没有意义这样做。
abstract需要重载,static为类方法,没有重载一说 abstract为没有实现的方法,native为本机实现的方法,自相矛盾 abstract方法没有实现,也不可能实际调用抽象方法,没有必要synchronized修饰,当然子类可以根据需要同步该方法.所以 都不能.
2,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继
承实体类(concrete class)?
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实
体类,但前提是实体类必须有明确的构造函数。
3,启动一个线程是用run()还是start()?
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态
,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法
可以产生必须退出的标志来停止一个线程。
4,构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Ove
rloading。
都不可以,因为abstract申明的方法是要求子类去实现的,abstract只是告诉你有这样一个接口,你要去实现,至于你的具体实现可以是native和synchronized,也可以不是,抽象方法是不关心这些事的,所以写这两个是没有意义的。然后,static方法是不会被覆盖的,而abstract方法正是要子类去覆盖它,所以也是没有意义的。所以,总的来说,就是java语法不允许你这样做,事实上,也没有意义这样做。
abstract需要重载,static为类方法,没有重载一说 abstract为没有实现的方法,native为本机实现的方法,自相矛盾 abstract方法没有实现,也不可能实际调用抽象方法,没有必要synchronized修饰,当然子类可以根据需要同步该方法.所以 都不能.
2,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继
承实体类(concrete class)?
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实
体类,但前提是实体类必须有明确的构造函数。
3,启动一个线程是用run()还是start()?
启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态
,这意味着它可以由JVM调度并执行。这并不意味着线程就会立即运行。run()方法
可以产生必须退出的标志来停止一个线程。
4,构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能重写Overriding,但可以被重载Ove
rloading。
相关文章推荐
- PAT(甲级)1075
- android-async-http 异步网络请求客户端请求接口
- Leetcode83: Maximum Subarray
- 安卓百度地图在打包签名后key验证失败解决方案
- wsdl2java 生成不带JAXBElement的客户端
- Light oj 1231 - Coin Change (I)(dp)
- Android动态改变布局
- 高德地图路径回放
- SQLAlchemy操作MariaDB笔记之三
- 存储在图的形式——邻接矩阵(排列)
- 输入事件的底层处理流程
- 城市空气pm2.5数据调用实现
- PAT(甲级)1074
- iOS app 上传到itunes connect的时候一直都是正在准备(二进制文件无效)
- 求两个数的最大公约数
- net start sshd 发生系统错误1069--cygwin安装过程
- crm查询实体的字段属性
- C++中文件按行读取和逐词读取
- android在项目中使用百度地图
- Populating Next Right Pointers in Each Node 解答