java派生类如何定义
定义Java派生类的方法
在Java中,派生类(子类)通过继承基类(父类)来定义,使用extends关键字实现继承关系。
public class ParentClass {
// 父类成员和方法
}
public class ChildClass extends ParentClass {
// 子类新增的成员和方法
}
继承的基本规则
派生类会继承父类的非私有成员(属性和方法)。父类的private成员无法被子类直接访问,但可以通过父类提供的公共方法间接访问。
public class Animal {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class Dog extends Animal {
public void bark() {
System.out.println(getName() + " is barking");
}
}
方法重写
派生类可以重写父类的方法,使用@Override注解标识,这有助于提高代码可读性。
public class Animal {
public void makeSound() {
System.out.println("Animal makes a sound");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Cat meows");
}
}
调用父类构造方法
派生类构造方法中可以使用super()调用父类构造方法,必须放在构造方法的第一行。
public class Vehicle {
private int wheels;
public Vehicle(int wheels) {
this.wheels = wheels;
}
}
public class Car extends Vehicle {
private String model;
public Car(int wheels, String model) {
super(wheels);
this.model = model;
}
}
访问修饰符的影响
派生类中访问父类成员受访问修饰符限制:
public:任何地方可访问protected:同包或子类可访问- 默认(无修饰符):仅同包可访问
private:仅本类可访问
多重继承的替代方案
Java不支持多继承,但可以通过接口实现类似功能。一个类可以实现多个接口。

interface Swimmer {
void swim();
}
interface Flyer {
void fly();
}
public class Duck implements Swimmer, Flyer {
@Override
public void swim() {
System.out.println("Duck swimming");
}
@Override
public void fly() {
System.out.println("Duck flying");
}
}






