"subclass"在Java中是什么意思?
我知道类和方法,但不知道什么是子类。
子类是扩展另一个类的类。
public class BaseClass{
public String getFoo(){
return "foo";
}
}
public class SubClass extends BaseClass{
}
然后...
System.out.println(new SubClass().getFoo());
会打印:
foo
这个方法可行,因为子类会继承它所继承的类的功能。
子类是扩展现有类功能的一种方式。例如:
超类 - 描述对象的类别:
public abstract class Fruit {
public abstract Color color;
}
Subclass1 - 描述了每个水果对象的属性:
public class Apple extends Fruit {
Color color = red;
}
子类2 - 描述各个水果对象的属性:
public class Banana extends Fruit {
Color color = yellow;
}
在超类中使用'abstract'关键字意味着该类仅定义了每个子类必须拥有的强制性信息,即水果必须有颜色,因此在超类中定义,并且所有子类必须 '继承'该属性并定义描述特定对象的值。
这样讲清楚了吗?
public class Animal {
public static void hide() {
System.out.println("The hide method in Animal.");
}
public void override() {
System.out.println("The override method in Animal.");
}
}
public class Cat extends Animal {
public static void hide() {
System.out.println("The hide method in Cat.");
}
public void override() {
System.out.println("The override method in Cat.");
}
public static void main(String[] args) {
Cat myCat = new Cat();
Animal myAnimal = (Animal)myCat;
myAnimal.hide();
myAnimal.override();
}
}
public class A
{
}
public class B extends A
{
}
如果B
是A
的子类,则B
继承自A
。相反,超类是指父类。
将类视为一组事物的成员描述。该集合的所有成员都具有共同的特征(方法和属性)。
子类是描述原始集合的特定子集的类。它们与主类共享许多特征,但可能具有仅适用于子类成员的属性或方法。
在Java中,您可以通过使用“extends”关键字声明一个类是另一个类的子类。
public class B extends A
{
...
}
B是A的子类。类B的实例将自动展示与类A的实例相同的许多属性。
这是面向对象编程中“继承”的主要概念。
Java中的子类是继承自另一个类的类。
继承是一种让类在通用行为基础上添加专门行为的方法。这通常表示为“是一个”关系。
例如,Triangle
是一个Shape
,因此实现一个Shape类并使Triangle类继承它可能是有意义的。在这个例子中,Shape
是Triangle
的超类,而Triangle
是Shape
的子类。