java 继承中静态语句块 非静态语句块 构造函数 的分析
来源:互联网 发布:三星galaxy j7网络 编辑:程序博客网 时间:2024/05/28 15:06
//父类的代码
public class Father {//静态语句块首次开辟该类内存时执行一次static{System.out.println("statci...");};//语句块每一次新建一个对象执行一次//被继承时,新建子类对象时,也会先执行父类语句块{System.out.println("normal...");}public Father(){System.out.println("father construction...");}public void fun(){System.out.println("father fun");};public void fun1() {System.out.println("father private fun");}}
//子类的代码
public class Child1 extends Father{static{System.out.println("child statci...");};{System.out.println("child normal...");}public void fun(){System.out.println("child fun");};public Child1(){System.out.println("child construction");}}
测试代码
public class Test {public static void main(String args[]) {//Father f1 = new Child1();//静态语句块->语句块->构造函数//父类静态语句块->子类静态->父类语句块->父类构造函数->子类语句->子类构造函数f1.fun();}}
发现静态语句块一定是最先执行的,而且每个类只执行一次。顺序是://静态语句块->语句块->构造函数
如果有继承://父类静态语句块->子类静态->父类语句块->父类构造函数->子类语句->子类构造函数
子类继承父类后,重写父类方法,调用时实现多态调用的是子类的方法。如果没有重写,则可以直接访问父类。
此外,如果方法被声明为静态方法,则根据引用的类型访问所属的类的方法。
http://liqita.iteye.com/blog/1472717
- java 继承中静态语句块 非静态语句块 构造函数 的分析
- JAVA继承关系中静态代码块、非静态代码块,构造函数的执行顺序
- 构造函数、静态语句块、非静态语句块的执行顺序
- 构造函数、静态语句块、非静态语句块的执行顺序
- Java 静态语句块、语句块、构造函数执行顺序
- Java 静态语句块、语句块、构造函数执行顺序
- Java 静态语句块、语句块、构造函数执行顺序
- Java 静态语句块、语句块、构造函数
- Java 静态语句块、语句块、构造函数
- Java 静态语句块、语句块、构造函数
- Java 静态语句块、语句块、构造函数
- Java 静态语句块、语句块、构造函数
- Java 静态语句块、语句块、构造函数
- Java 静态语句块、语句块、构造函数
- Java 静态语句块、语句块、构造函数
- Java 静态语句块、语句块、构造函数执行顺序
- Java类中静态属性、静态语句块、属性、初始化语句块、构造函数之间的执行顺序
- java静态语句块、构造语句块以及构造函数的执行顺序
- Gdiplus 读取并显示 Gif
- C++学习笔记第一天:熟悉C++,解决“Cannot find or open the PDB file”问题
- android 解析json数据格式
- how to install xen on ubuntu 11.10 (Oneiric)
- 代码复用之一 ——提取代码
- java 继承中静态语句块 非静态语句块 构造函数 的分析
- 评测几种字符串叠加的速度:string直接相加, String.Format, StringBuilder的速度
- ubuntu 163源
- sql Plus
- 为什么编程语言以及数据库要从1970年1月1日开始计算时间
- PHP 持续整合简介 – 系统建构篇
- OpenStreetMap初探(二)——osm的数据结构
- htmlparser教程
- ObjectOutputStream使用