java中子类继承父类,程序运行顺序

java中子类继承父类,程序运行顺序

ID:41528016

大小:51.59 KB

页数:4页

时间:2019-08-27

java中子类继承父类,程序运行顺序_第1页
java中子类继承父类,程序运行顺序_第2页
java中子类继承父类,程序运行顺序_第3页
java中子类继承父类,程序运行顺序_第4页
资源描述:

《java中子类继承父类,程序运行顺序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、我们经常在项目中使用继承,但是往往不太明白,程序运行的顺序以及原理,尤其是使用上转型对象的时候,以及父类子类小都有static变量和方法时,不知道先运行谁。我也是写了一个例子。总结了一下。父类:publicclassTestStatic{publicstaticString/?砌hchi;static{刀创仔〃England,z;System,out.println(〃二二二二二二=静态程序块二二二二二二〃);System,out.printIn(〃二二二二二二二二二构造方法二二二二二二二二〃);System,out.

2、print]n(〃二二二二二二二二主方•法二二二二二二二二〃+/7臼刃g);System,out.printIn(〃二二二二二二二二测试方法二二二二二二二二二〃);}■子类:publicclassTestExtendStaticextendsTestStatic{//publicstaticStringname=//HUBEIz/;static{//name二〃SUIZHOU";System,out.printing了类静态程序块===〃);System,out.printing/类构造方法“);System,out.

3、println(,z了类测试方法“);System,out.println(,z了类主方法〃+加/殆);TestStaticts=newTestExtendStatic();//上转型对彖}输出如下:二二二二二二二二静态程序块二二二二二二:父类static程序块-======子类静态程序块======:子类static程序块【不是静态方法】========子类主方法二二二二二二二二Eng1and:子类主方法========方法体========:父类中非静态代码块=========构造方法========:父类构造方法

4、-======无名称方法体二===二:子类中非静态代码块-======子类构造方法===二二:子类构造方法-======子类测试方法二====:子类测试方法(1)执行函数体之前就要执行的代码顺序:父类静态变量以及静态程序块—子类的静态变量以及静态程序块(2)创建对象时执行顺序:父类非静态变量及无法调用的代码块父类中对应构造方法-一子类非静态变量及无法调用的代码块子类中对应构造方法只要是用new创建对彖,分配了内存空间,不管是将引用赋给上转型对象,还是赋给子类对象,上面方法都必须执行。

5、即:TestStaticts=ne

6、wTestExtendStatic();//上转型对象TestExtendStaticts=newTestExtendStatic0;//子类对象上面加粗程序都会执行。上面程序中ts.testO;ts作为上转型对象调用的是子类继承的父类中的方法,因为test()在子类中被重写了,所以输出的为子类中的语句。如果将子类'I1main方法该成如下:publicstaticvoidmain(String[]args){System,out.printIn(〃二二二二二二二二子类主方法二====〃+/?韧o);TestStati

7、cts二newTestExtendStatic();ts.test();System,out.println("”);ts二newTestExtendStatic();ts.test();输出:静态程序块—父类中静态程序块==—子类静态程序块二==二子类中静态程序块========子类主方法-—England子类中主方法========方法体========父类中非静态代码块=========构造方法========父类中构造方法========无名称方法体========子类中非静态程序块子类构造方法========

8、子类屮构造方法二子类测试方法=========对象具体调用的方法静态变量以及程序块只执行一次二方法体========父类中非静态代码块=========构造方法========父类中构造方法-======无名称方法体========子类中非静态代码块=========子类构造方法========子类中构造方法========子类测试方法=========■如果将子类主方法中更改为:TestStaticts=newTestStatic();//运用父类构造方法创建ts.test();输出为:========静态程序块==

9、====父类静态程序块-======子类静态程序块======子类静态程序块【因为程序在子类中运行的,所以子类的静态程序块必须运行】方法体========父类非静态程序块二构造方法========父类构造方法测试方法=========父类具体方法testO如果将上述代码放到父类中,就不会加载子类静态程序块了。■通过上面我们还对以发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。