【Java】重载(Overload)与重写(Override)
2024-08-29 00:56:29
方法的语法
修饰符 返回值类型 方法名(参数类型 参数名){
...
方法体
...
return 返回值;
}
重载(overload)
/**
* 重载Overload:
* 同一个类中,多个方法拥有相同的名字,但参数类型以及参数数量必须不一样。
* 返回值可相同也可不相同,但单凭返回值不可用来判断方法之间是否存在。
*/
public class example {
public void print() {};
//public String print() {}; 参数类型与上一条方法一样,返回值不同,无法通过编译
public void print(int a) {};
public void print(String a) {};
}
重写Override
/**
* 1. 重写方法只能存在于父子类间,父子类间的这个方法的参数列表、返回类型必须完全相同
* 2. 重写的方法中,子类的权限修饰符必须>=父类的
* 3. 父类的方法为private时,子类出现同名方法不属于方法的改写,只是在子类内部重新定义的一个方法
* 4. 重写方法中,子类抛出的异常需要小于等于父类抛出的异常
*
*/
class animal{
int num;
public void eat() {
System.out.println("fruits");
};
private void run() {
System.out.println("run");
}
public void count() throws IOException {}
} class lion extends animal{
public void eat() {//属于改写
System.out.println("meat");
}
public void run() {//不属于改写
System.out.println("jump");
}
//public void count() throws ClassNotFoundException {}; 不能抛出父类方法中没有的异常
public void count() throws IOException {} //子类抛出的异常可与父类相同的异常或子异常
}
参考:
https://www.cnblogs.com/jenkinschan/p/5847470.html
最新文章
- MySQL5.7 修改密码
- 为什么带网格(mesh)的模型添加了刚体Rigidbody和MeshCollider,还是会从地板穿过去?
- redhat6.4上安装mysql
- Virtual Memory PAGE TABLE STRUCTURE
- [BS] 小知识点总结-01
- PAT-乙级-1054. 求平均值 (20)
- (转)使用CruiseControl+SVN+ANT实现持续集成之三
- Java RMI之介绍
- 门面模式 到 socket
- linux中切换用户方式su和su -的区别
- POJ 36666 Making the Grade 简单DP
- qt 字符数组如何转换字符串?
- Java并发编程:synchronized和锁优化
- Java线程同步锁
- IDEA创建applicationContext.xml 无法自动提示,文件图标是文本类型
- leafLet入门教程兼leafLet API中文文档参考
- WCG distribution of byteball
- javaScript中ajax、axios总结
- 1950261 - SAP HANA Database Backup Policy Recommendations and Regular Backup Script
- Python web 框架之 Django 基础搭建服务