• 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程序猿管内存清理干嘛?

  • 相关阅读:
    Java常量初始化后不会再去重新获取
    Intellij IDEA自动编译问题
    Tomcat关闭日志输出
    MySQL命令行导出数据库
    补充Mysql5.7用法
    Linux下安装 mysql 5.7
    IE9 表格错位bug
    Ubuntu忘记管理员密码
    实体转换计算器
    js生成二维码参数设置
  • 原文地址:https://www.cnblogs.com/zhaoyansheng/p/4827480.html
Copyright © 2020-2023  润新知