Java继承与初始化
2016-01-14 16:37
489 查看
code
public class TestClassInitial { public static void main(String[] args){ Beetle b=new Beetle(); } } class Insect{ private int i=9; protected int j; Insect(){ System.out.println("i="+i+", j="+j); j=39; } { System.out.println(" insect"); } private static int x1=printStatic("static Insect.x1 init"); static{ System.out.println(" static insect"); } public static int printStatic(String string) { // TODO Auto-generated method stub System.out.println(string); return 1; } } class Beetle extends Insect{ private String k="k"; static{ System.out.println("static Beetle"); } { System.out.println("Beetle"); } public Beetle(){ System.out.println("construct Beetle"); } private static int x2=Insect.printStatic("beetle x2"); }
总结流程:
加载main所在方法类如果该类有基类,则加载基类,持续下去
反过来一个个加载static修饰的成员变量或者代码块 顺序从上到下
从基类开始,一次次加载非静态成员,一个类中从上到下,然后到初始化构造函数
子类加载非静态成员,然后构造函数
动态代码快在构造函数之前发生
运行结果
static Insect.x1 init static insect static Beetle beetle x2 insect i=9, j=0 Beetle construct Beetle
相关文章推荐
- eclipse pom文件配置项目注意
- 选取图片裁剪并上传功能的实现(后台java实现)
- java实现给定字符串之间的全排列算法
- eclipse安装插件Properties Editor
- JAVA中switch case 语句的用法
- spring-batch+quartz的示例
- java中的静态内部类
- springmvc+mybatis 整合 完整示例
- easyui结合Spring实现验证输入内容与数据库中的内容是否重复
- RabbitMQ入门教程 For Java【5】 - Topic
- Elasticsearch Java API 开发
- java将 Date原始格式EEE MMM dd HH:mm:ss Z yyyy"转成指定格式
- spring基于通用Dao的多数据源配置
- Spring Boot 初探[1]--快速搭建Spring Boot项目
- eclipse中properties文件编码问题
- eclipse的.properties文件中文显示问题
- 图片压缩-Java
- Java 支持断点续传功能实现
- java实现获取当前日期所在的四个周的周日的功能,其中当前日期的周日是第三个,第四个是下周周日
- MyEclipse如何修改作者名称