java子类和父类的创建
时间: 2023-08-08 07:08:40 浏览: 99
在 Java 中,要创建子类需要使用 `extends` 关键字来继承父类。下面是一个简单的例子:
```java
public class Animal {
public void eat() {
System.out.println("Animal is eating.");
}
}
public class Dog extends Animal {
public void bark() {
System.out.println("Dog is barking.");
}
}
// 在主函数中
Dog dog = new Dog();
dog.eat(); // 继承父类的方法
dog.bark(); // 子类自己的方法
```
在上面的例子中,我们定义了一个 `Animal` 父类和 `Dog` 子类。使用 `extends` 关键字将 `Dog` 类继承自 `Animal` 类。这样,`Dog` 类就可以使用 `Animal` 类中的方法和属性。我们还定义了 `Dog` 类自己的方法 `bark()`。在主函数中,我们实例化了一个 `Dog` 对象,然后调用了继承自父类的 `eat()` 方法和子类自己的 `bark()` 方法。
需要注意的是,Java 中一个子类只能继承一个父类,这是单继承机制。但是,Java 中允许多层继承,即一个类可以继承自另一个类的子类。这就是多层继承。
相关问题
java子类重载父类方法
在Java中,子类可以通过重载(overriding)父类的方法来改变父类方法的行为。要实现这一点,子类必须定义一个与父类方法名称、参数类型和返回类型完全相同的方法,并且在方法体中实现子类特有的逻辑。
例如,假设我们有一个父类Animal和一个子类Dog:
```java
public class Animal {
public void move() {
System.out.println("Animal is moving");
}
}
public class Dog extends Animal {
public void move() {
System.out.println("Dog is running");
}
}
```
在上面的例子中,子类Dog重载了父类Animal的move()方法,并且在方法体中输出了不同的信息。当我们创建一个Dog对象并调用它的move()方法时,输出的信息将是“Dog is running”。
还需要注意的是,如果子类想要调用父类的重载方法,可以使用super关键字。例如,在子类Dog的move()方法中,我们可以使用super.move()来调用父类Animal的move()方法。
```java
public class Dog extends Animal {
public void move() {
super.move(); // 调用父类的move方法
System.out.println("Dog is running");
}
}
```
java子类覆盖父类方法
在Java中,子类可以通过继承父类并实现自己的方法来覆盖父类的方法。覆盖父类方法的过程如下:
1. 子类继承父类。
2. 子类定义与父类同名、同参数列表和同返回类型的方法。
3. 子类使用 @Override 注解来告诉编译器该方法是一个覆盖父类方法的方法。
4. 子类实现自己的方法体。
下面是一个简单的例子:
```java
class Parent {
public void print() {
System.out.println("Parent");
}
}
class Child extends Parent {
@Override
public void print() {
System.out.println("Child");
}
}
public class Main {
public static void main(String[] args) {
Parent p = new Parent();
p.print(); // 输出 "Parent"
Child c = new Child();
c.print(); // 输出 "Child"
Parent pc = new Child();
pc.print(); // 输出 "Child"
}
}
```
在这个例子中,Child 类继承了 Parent 类,并覆盖了它的 print() 方法。当创建了一个 Child 类的实例并调用其 print() 方法时,输出的是 "Child"。当将 Child 类的实例赋值给 Parent 类的实例并调用其 print() 方法时,输出的也是 "Child",这是因为动态绑定机制会在运行时动态地确定调用哪个方法。
阅读全文