继承与Java非常紧密地结合在一起。除此以外,创建一个类时肯定会进行继承,因为若非如此,会从Java 的标准根类 Object 中继承。 用于合成的语法是非常简单且直观的。但为了进行继承,必须采用一种全然不同的形式。需要继承的时候,我们会说:“这个新类和那个旧类差不多。”为了在代码里表面这一观念,需要给出类名。但在类主体的起始花括号之前,需要放置一个关键字extends,在后面跟随“基础类”的名字。若采取这种做法,就可自动获得基础类的所有数据成员以及方法。下面是一个例子:
class Cleanser {
private String s = new String("Cleanser");
public void append(String a) {
s += a;
}
public void dilute() { append(" dilute()");
}
public void apply() { append(" apply()");
}
public void scrub() { append(" scrub()"); } public void print() { System.out.println(s);
}
public static void main(String[] args) { Cleanser x = new Cleanser();
x.dilute(); x.apply(); x.scrub(); x.print();
}
}
public class Detergent extends Cleanser { // Change a method: public void scrub() { append(" Detergent.scrub()");
super.scrub(); // Call base-class version } // Add methods to the interface: public void foam() { append(" foam()"); } // Test the new class:
public static void main(String[] args) { Detergent x = new Detergent(); x.dilute();
x.apply(); x.scrub(); x.foam(); x.print(); System.out.println("Testing base class:"); Cleanser.main(args);
}
} |
|