19. 描述方法重载和方法重写的语法要求
时间: 2024-09-18 08:15:11 浏览: 59
Java基础19共14页.pdf.zip
在Java中,方法重载(Overloading)和方法重写(Overriding)都是关于在同一作用域内创建具有相同名称但参数列表不同的方法。
1. **方法重载**:
- 语法要求:
- 方法名相同。
- 参数列表不同(包括参数的数量、类型或顺序)。如果只有一个参数并且返回类型不同,也是算作方法重载。
- 返回类型可以相同也可以不同。
示例:
```java
public void print(int num) { ... } // 第一个print方法,接收整数参数
public void print(String str) { ... } // 第二个print方法,接收字符串参数
```
- 每个类都可以有自己的重载方法,编译器根据方法调用时提供的参数类型匹配找到合适的版本。
2. **方法重写**(也叫覆写):
- 语法要求:
- 子类的方法与父类的方法名字、返回类型和参数列表都必须完全相同,包括访问修饰符(如private不能重写public)。
- 子类的方法必须在超类的范围内访问(也就是说,只有public或protected的方法才能被子类重写)。
示例:
```java
class Animal { public void makeSound() { System.out.println("Animal makes a sound"); } }
class Dog extends Animal { @Override public void makeSound() { System.out.println("Dog barks"); } }
```
- 当子类的对象调用这个方法时,会执行子类的方法实现,而不是父类的。
阅读全文