博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Java中重载的若干问题
阅读量:4551 次
发布时间:2019-06-08

本文共 773 字,大约阅读时间需要 2 分钟。

一.问题引入

  今天看视频时偶然间看到了,说父类和子类间也可以重载,貌似和以前的观念有些冲突,就验证了下……

二.问题解决

  看如下代码:

public class Son extends Father {	public void test(int i) {		System.out.println("我是子类里的有参数test方法:"+i);	}		public static void main(String[] args) {		Son son = new Son();		son.test();		son.test(3);	}}class Father {	void test() {		System.out.println("我是父类里的无参数test方法");	}	}

 三.结论

  a.在一个类里,方法名相同,参数不同是方法的重载,方法重写必须满足下列条件:

    (1) 子类的方法的名称及参数必须和所覆盖的方法相同
    (2) 子类的方法返回类型必须和所覆盖的方法相同
    (3) 子类方法不能缩小所覆盖方法的访问权限
    (4) 子类方法不能抛出比所覆盖方法更多的异常

  b.子类与父类间存在重载吗?  

    在子类中扩展一个与父类同名不同参数的方法不叫重写,应该叫叫重载;不过也有人不同意,认为这样写能表达出所谓“重载”的意思,但是按照重载概念(重载是在同一个类中多态性的表现),似乎不符合。 可以更深层的理解为,子类只是拥有了父类的这个方法(功能),而不是自己创建的功能。

  c.

    参数顺序不同但是参数类型顺序相同的话,不构成重载;参数顺序不同 且 参数类型顺序不同的话,也构成重载。

  

转载于:https://www.cnblogs.com/hxsyl/p/3189171.html

你可能感兴趣的文章
让我们再聊聊浏览器资源加载优化
查看>>
underscore demo
查看>>
CSS hack
查看>>
C# Enum Name String Description之间的相互转换
查看>>
Android 实现ripple动画
查看>>
PHP wamp server问题
查看>>
Spring Data Redis学习
查看>>
js闭包理解案例-解决for循环为元素注册事件的问题
查看>>
2015.04.23,外语,读书笔记-《Word Power Made Easy》 12 “如何奉承朋友” SESSION 33
查看>>
char与unsigned char的本质区别
查看>>
石大iCal课表使用指南
查看>>
阿里云 Ubuntu14.04 部署 LAMP
查看>>
android 点击事件
查看>>
Spring+SpringMVC+JDBC实现登录
查看>>
生与死之间
查看>>
NEFU 109
查看>>
HDU 5435
查看>>
thinkphp的目录结构设计经验总结
查看>>
9月23日
查看>>
java 括号匹配 成对
查看>>