Java的返回类型的几点注意
来源:互联网 发布:ios蜂窝移动数据清理 编辑:程序博客网 时间:2024/06/05 21:13
1. 在方法重写时不能变更声明的返回类型,但可以为声明的返回类型的子类
public class Foo{void go() { }}class Bar extends Foo {String go() { // 不合法return null;}}
该段代码会报如下错误
Multiple markers at this line- overrides Foo.go- The return type is incompatible with Foo.go()
但是如果在继承的同时还进行了重载,则声明的返回类型可以改变,如下代码能正常运行:
public class Foo{void go() { }}class Bar extends Foo {String go(int x) {return null;}}
重写的方法声明的返回类型可以为父类方法的子类:
public class Foo{Foo go(){return new Foo();}}class Bar extends Foo {Bar go() {return new Bar();}}
public class Foo{Foo go() {return null;}}
3. return的类型可以为声明的返回类型的子类:
class Bar extends Foo {Foo go() {return new Bar();}}
4. 当声明的返回类型为抽象类或者接口时,return的类型可以为继承该抽象类或者实现该接口的类:
abstract class Foo{abstract Foo go();}class Bar extends Foo {Foo go() {return new Bar();}}
interface runnable{runnable go();}class Bar implements runnable {public runnable go() {return new Bar();}}
5. 当声明的发挥类型为void时,可以return但是不能return任何值,也不能return null,
abstract class Foo{abstract void go();}class Bar extends Foo {public void go() {return;}}
0 0
- Java的返回类型的几点注意
- [java]数据类型需要注意的几点
- Java序列化的几点注意
- Java数据类型值得注意的几点
- C++函数返回迭代器类型时应注意的点
- MySQL使用TEXT/BLOB类型的几点注意
- array的几点注意
- 索引的几点注意
- ACL的几点注意
- 注意virtual的几点!
- iocp注意的几点
- 编写高性能Java的注意的几点
- 指针的几点注意点
- activity生命周期的几点注意点
- java反射reflection需要注意的几点
- 初学Java所需要注意的几点
- 关于JAVA中的访问权限的几点注意
- C++转JAVA需要注意的几点
- Linux学习笔记(一)
- linux下bitnami-redmine中安装插件redmine_dmsf总结
- reactnative 热更新记录
- ScheduledExecutorService定时周期执行指定的任务
- iOS 视图颜色渐变详解
- Java的返回类型的几点注意
- Leetcode no. 16
- JavaScript DOM对象
- uvalive4015
- GitHub开源项目地址
- HotSpot JVM
- 常见的HTTP代码错误原因及处理
- InsetDrawable详解
- 缓动弹出产品分类 【jquery】