什么是子类化?

17

我刚接触Java,正在尝试创建一个XML文档,并重复克隆该文档中特定的节点(不包括文本节点)。有人回答说我应该对该节点进行子类化并覆盖克隆方法。因此,我的问题是什么是子类化?

4个回答

22

子类化是指定义一个新类,该新类具有旧类(“超类”)的属性,并进行一些更改。

在这种情况下,你原始的回答者是这样说的:

假设你有一个基类 Base,它有一个像下面这样的方法 getTwo

class Base {
   public int getTwo(){ return 2;}
}

你想创建一个新类,它仍然具有一个名为getTwo的方法,但返回的是字符串"two"而不是数字2。 你可以这样定义:

class Subclass extends Base {
   public String getTwo() { return "two"; }
}

我们常说SubclassBase的子类,或者更常见的说法是"是一种"。

除此之外,建议你阅读一本Java面向对象编程的书籍。我喜欢Thinking in Java,而且它的额外优势是可以在网上免费获取。


6

@Charlie Martin已经解释了子类化的含义。

然而,你可能没有得到好的建议。如果你是通过在内存中组装DOM来创建XML文档,更好的方法是创建一个带有静态方法的辅助类,执行你需要做的DOM节点操作序列。


0
子类代表面向对象编程中的 is-a 关系(继承)。
例如:
圆(Circle)是形状(Shape)。
因此我们可以说:
圆类(Circle class)是形状类(Shape class)的一个子类。

0
简而言之:超类可以被子类化 - 这意味着对于一个特定的类,我们可以找到/创建一个扩展它的子类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接