java 同名覆写
时间: 2024-08-28 15:01:02 浏览: 33
在 Java 中,同名覆写(Overriding)是指在一个子类中提供对父类中某个已声明方法的新的实现。当子类有与父类相同名称、返回类型、访问修饰符以及参数列表的方法时,子类的方法可以覆盖(override)父类的方法。这样做有几个关键点:
1. **作用范围**:子类的方法会替换掉父类在子类实例上调用时的行为。
2. **调用时机**:只有当你使用子类的对象调用这个方法时,才会执行子类的方法。如果使用父类引用调用,则默认调用的是父类的方法。
3. **静态方法**:静态方法不能被覆写,因为它们属于类而不是对象。
4. **重载规则失效**:虽然方法名字一样,但是参数类型的改变(即使总数相同),不会构成方法的重载,而是覆盖。
相关问题
java如何覆写tostring方法
在Java中,要覆写toString方法,可以按照以下步骤进行:
1. 在类中添加一个公共的toString方法。
2. 在toString方法中使用StringBuffer或StringBuilder来构建一个字符串,该字符串包含对象的所有属性和值。
3. 将构建的字符串返回。
以下是一个示例代码,演示如何覆写toString方法:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("Person{name='").append(name).append('\'');
sb.append(", age=").append(age);
sb.append('}');
return sb.toString();
}
}
```
在上面的代码中,我们添加了一个toString方法,并在其中使用StringBuilder来构建一个字符串,该字符串包含了对象的所有属性和值。最后,我们将构建的字符串返回。
java覆写
好的,针对您的问题,我可以为您提供以下的代码示例,演示如何在子类中覆写父类的方法:
```java
class Parent {
public void printName() {
System.out.println("Parent");
}
}
class Child extends Parent {
@Override
public void printName() {
System.out.println("Child");
}
}
```
在这个例子中,`Child`类继承自`Parent`类,并且覆写了`Parent`类中的`printName`方法,使用`@Override`注解表示这是一个覆写方法。在`Child`类中,`printName`方法的实现和父类不同,输出的是`Child`字符串。
希望这个示例对您有所帮助。如果您还有其他问题,请随时提出。