Class 什么是子类和超类?
我真的很想知道这件事。我听过很多人提到它们,但不知道它们到底是什么。我假设它们在所有基于类的语言中都是相同的,如果不是,那么它们在Java中是什么Class 什么是子类和超类?,class,Class,我真的很想知道这件事。我听过很多人提到它们,但不知道它们到底是什么。我假设它们在所有基于类的语言中都是相同的,如果不是,那么它们在Java中是什么 抱歉我的无知,但我正在学习Java,我的书只解释了基本知识。子类扩展了超类。它们使用超类的部分或全部功能,但也有自己独特的功能。两个不同的类可以扩展同一个超类并共享其功能。这样,就不必将超类中的代码复制到两个子类中 例如:假设你有两个班,一只猫和一只鹦鹉。它们看起来像这样: class Cat { private int speed;
抱歉我的无知,但我正在学习Java,我的书只解释了基本知识。子类扩展了超类。它们使用超类的部分或全部功能,但也有自己独特的功能。两个不同的类可以扩展同一个超类并共享其功能。这样,就不必将超类中的代码复制到两个子类中 例如:假设你有两个班,一只猫和一只鹦鹉。它们看起来像这样:
class Cat {
private int speed;
private String name;
private String sound;
public void meouw() {
//make a sound.
}
public void attack() {
//attack some prey
}
}
class Parrot {
private int speed;
private String name;
private String sound;
public void talk() {
//make a sound.
}
public void fly() {
//fly away
}
}
现在,使用继承可以做得更好:
class Animal {
private int speed;
private String name;
private String sound;
public void makeSound() {
//make a sound.
}
}
class Cat extends Animal {
public void attack() {
//attack some prey
}
}
class Parrot extends Animal {
public void fly() {
//fly away
}
}
在我的最后一个例子中,你可以看到猫和鹦鹉都有一个速度属性、一个名字和一个声音。他们也可以使用makeSound方法。此外,每种方法都有自己的方法
如果需要,还可以重写超类中的方法并添加额外的功能
@Override
public void someMethod() {
super.someMethod();
//extra functionality...
}
super.someMethod调用超类中的方法。如果您这样做,您也可以从super方法获得功能。如果不这样做,超类中的方法将永远不会执行。这与继承有关 最好的解释方法是通过一个例子: 考虑这类车辆: } 这是一个父类,具有任何类型车辆都可以具有的功能。这使它成为一个抽象类 下面是一个子类,它“继承”了车辆功能:
class Honda : Vehicle {
float price = 3000.0;
}
还有一个品牌,这个更贵
class Ferrari : Vehicle {
float price = 987654321.0;
}
所以现在当我们说:
Honda accord = new Honda();
我们得到一个本田的例子
Ferrari spider360 = new Ferrari();
它们都是车辆的子类,但各自有自己的属性,但属于同一父类车辆。分别指定了更多和更少的类别。超类父类的子类子类通常可以做父类可以做的一切,并且包含所有相同类型的数据。但它不仅仅是父母。表示年龄和身高的类树可能有数据,但子类可能有更具体的数据。MapleTree可能是一个子类,并且具有额外的特定数据,例如糖浆味道,或者像get糖浆这样的操作,这在超类中是不可能的。超类更加灵活和通用,子类更加具体。谢谢。这是一个很好的解释。事实证明,我以前使用过很多子类,只是不确定它们的名称。
Ferrari spider360 = new Ferrari();