任务二:混动汽车
package Test;
class wheel{
public wheel() {
System.out.println("Wheel Ready !");
}
}
class sofa{
public sofa() {
System.out.println("Sofa Ready !");
}
}
class car{
public car() {
new wheel();
new sofa();
System.out.println("Car Ready !");
}
}
class electricEngine{
public electricEngine() {
System.out.println("Electric Engine Ready !");
}
}
class hybridVehicle extends car{
public hybridVehicle() {
new electricEngine();
System.out.println("HybridVehicle Ready !");
}
}
public class wonderfulCar {
public static void main(String[] args) {
new hybridVehicle();
}
}
第一个方法wonderfulCar
public class wonderfulCar {
public static void main(String[] args) {
new hybridVehicle();
}
没什么需要讲的,实例化 hybridVehicle() 。
那么,我们先来看 hybridVehicle() 这个类
class hybridVehicle extends car{
public hybridVehicle() {
new electricEngine();
System.out.println("HybridVehicle Ready !");
}
}
这个类继承了 car ,是 car 的子类,所以,当程序运行到这里,会自动执行 car 中的代码。执行完后,返回来,因为又包含电发动机 electricEngine() ,所以,先实例化electricEngine() 然后输出 HybridVehicle Ready !,应注意,这条语句应该最后输出
接下来我们来看父类 car
class car{
public car() {
new wheel();
new sofa();
System.out.println("Car Ready !");
}
}
上面我们说过当程序实例化 hybridVehicle() 时会首先执行这里面的代码,这个构造器中包含了两个类的实例化,首先要执行的就是实例化 wheel ,然后实例化 sofa ,最后输出 "Car Ready ! 这里也要注意,因为前面还有两个实例化,所以,这个输出是排在第三的。
继续往上,看到 wheel 类和 sofa 类,两都是简单类,就一起讲了
class wheel{
public wheel() {
System.out.println("Wheel Ready !");
}
}
class sofa{
public sofa() {
System.out.println("Sofa Ready !");
}
}
呐,先输出 Wheel Ready ! ,再输出 Sofa Ready !
到这里父类 car 就执行完毕了,再回到 hybridVehicle() 中,实例化 electricEngine()
class electricEngine{
public electricEngine() {
System.out.println("Electric Engine Ready !");
}
}
这也是个简单类,输出的是 Electric Engine Ready !
最后,输出次序依次是
Wheel Ready !
Sofa Ready !
Car Ready !
Electric Engine Ready !
HybridVehicle Ready !