Java学习之路(四)--Thinking in Java

  浅谈Java继承。

  继承在Java中是及其重要的,熟悉C++的程序员也许对继承并不陌生。但是继承在Java与C++中有些不同。比如引入了super关键字,可以调用派生类所继承的基类的方法(或者函数),还有,虽然在C++中派生类可以重写(overriding)基类中的某些方法,并且在派生类中所调用其实是派生类中所重写的方法,并不能调用基类中的原有方法。但是在Java中却不相同。你完全可以重写一个基类中的方法,并且完全可以调用这两个方法为你的派生类所用。Java实在神奇。

  这里要谈的不是重写,要谈的是继承中的构造顺序。在Java中,继承类的构造顺序其实和C++相差不大,先是构造基类,接着是下面的派生类,一层一层往下来。

  一个源代码的例子如下:

class Art{
	Art(){
		System.out.println("Art constructor");
	}
}

class Drawing extends Art{
	Drawing(){
		System.out.println("Drawing construcyion");
	}
}

public class Cartoon extends Drawing{
	public static void main(String[] args){
		Cartoon x = new Cartoon();
	}
}

  输出结果为

Art constructor
Drawing construcyion

  可以发现,即使Cartoon类没有显示的说明自己的构造方式,由默认方式完成,但还是严格按照顺序来进行构造。

  至于内存清理,(⊙o⊙)…,Java程序猿管内存清理干嘛?

原文地址:https://www.cnblogs.com/zhaoyansheng/p/4827480.html