太阳是一切天体的超类
【以下回答由 GPT 生成】
问题中提到的"行星、矮行星、恒星"的分层结构和继承关系不太明确,可能是举例来解释类和继承的概念。
在Java中,类是对象的模板,用来描述对象的属性和行为。对象是类的实例化,是具体的数据实体。继承是指一个类可以集成另一个类的属性和行为,从而实现代码的重用和扩展。
下面是一个示例,演示如何使用类、对象和继承:
// 定义一个星星类(父类)
class Star {
protected String name;
public Star(String name) {
this.name = name;
}
public void shine() {
System.out.println(name + " is shining.");
}
}
// 定义一个行星类(子类),继承自星星类
class Planet extends Star {
private String type;
public Planet(String name, String type) {
super(name);
this.type = type;
}
public void orbit() {
System.out.println(name + " is orbiting.");
}
}
// 定义一个矮行星类(子类),继承自行星类
class DwarfPlanet extends Planet {
public DwarfPlanet(String name, String type) {
super(name, type);
}
public void rotate() {
System.out.println(name + " is rotating.");
}
}
// 定义一个恒星类(子类),继承自星星类
class Star {
private String temperature;
public Star(String name, String temperature) {
super(name);
this.temperature = temperature;
}
public void burn() {
System.out.println(name + " is burning.");
}
}
// 创建对象并调用方法
public class Main {
public static void main(String[] args) {
// 创建行星对象
Planet earth = new Planet("Earth", "Terrestrial");
earth.shine(); // 输出:Earth is shining.
earth.orbit(); // 输出:Earth is orbiting.
// 创建矮行星对象
DwarfPlanet pluto = new DwarfPlanet("Pluto", "Trans-Neptunian");
pluto.shine(); // 输出:Pluto is shining.
pluto.orbit(); // 输出:Pluto is orbiting.
pluto.rotate(); // 输出:Pluto is rotating.
// 创建恒星对象
Star sun = new Star("Sun", "Hottest");
sun.shine(); // 输出:Sun is shining.
sun.burn(); // 输出:Sun is burning.
}
}
在上面的示例中,我们定义了一个父类Star
,表示星星对象。然后我们分别定义了子类Planet
(行星)、DwarfPlanet
(矮行星)和Star
(恒星),它们分别继承自父类Star
。子类可以继承父类的属性和方法,并且可以在子类中添加自己特有的属性和方法。
通过创建对象并调用方法,我们可以看到父类和子类的继承关系在代码中得到了体现。
【相关推荐】