父类中没有的方法 子类怎么办
时间: 2023-10-07 22:10:27 浏览: 60
在父类获取子类属性
如果父类中没有某个方法,而子类需要使用到这个方法,可以在子类中自行定义该方法。
子类定义的方法会覆盖父类中同名的方法,这种机制称为方法重写(Override)。
在子类中重写父类的方法时,需要满足以下要求:
1. 方法名和参数列表需要与父类中被重写的方法相同。
2. 访问修饰符不能比父类中被重写的方法的访问修饰符更严格。
3. 返回类型必须与父类中被重写的方法的返回类型相同,或者是其子类。
4. 子类中重写的方法不能抛出比父类中被重写的方法声明的更多的异常。
下面是一个例子,父类中没有printHello()方法,子类中定义了该方法:
```
public class ParentClass {
public void print() {
System.out.println("父类的print方法");
}
}
public class ChildClass extends ParentClass {
public void print() {
System.out.println("子类的print方法");
}
public void printHello() {
System.out.println("Hello");
}
}
public class Main {
public static void main(String[] args) {
ChildClass child = new ChildClass();
child.print(); // 调用子类的print方法
child.printHello(); // 调用子类自己的方法
}
}
```
在上面的代码中,子类ChildClass定义了一个printHello()方法,该方法是子类自己定义的,父类中并没有。在Main类中,我们创建了一个ChildClass对象,并且调用了子类的print()方法和printHello()方法。
阅读全文