1、类只有在使用New调用创建的时候才会被JAVA类装载器装入
2、JAVA类首次装入时,会对静态成员变量或方法进行一次初始化,但方法不被调用是不会执行的,静态成员变量和静态初始化块级别相同,非静态成员变量和非静态初始化块级别相同。
先初始化父类的静态代码--->初始化子类的静态代码-->
初始化父类的非静态代码--->初始化父类构造函数--->
初始化子类非静态代码--->初始化子类构造函数
3、创建类实例时,首先按照父子继承关系进行初始化
4、类实例创建时候,首先初始化块部分先执行,然后是构造方法;然后从
本类继承的子类的初始化块执行,最后是子类的构造方法
5、类消除时候,首先消除子类部分,再消除父类部分
实例:
abstract class base
{
public int age=getNumber(100);
static
{
System.out.println("base static block");
}
{
System.out.println("base nonstatic block");
}
static int sage=getNumber(50);
base()
{
System.out.println(age);
System.out.println("base start");
draw();//会调用子类覆盖后的方法
System.out.println("base end");
}
static int getNumber(int base)
{
System.out.println("base.getNumber int"+base);
return base;
}
public void draw()
{
System.out.println("base.draw");
}
}
public class initializeOrder extends base{
public int age=getNumber(1001);
private int _radius=getNumber(10);
static int sage=getNumber(250);
static
{
System.out.println("subclass static block");
}
{
System.out.println("subclass nonstatic block");
}
initializeOrder(int radius)
{
_radius=radius;
System.out.println(age);
System.out.println("initializeOrder initialized");
}
public void draw()
{
System.out.println("initializeOrder.draw "+_radius);
}
/** *//**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
new initializeOrder(1000);
}
}
运行结果:
C:\java>java initializeOrder
base static block
base.getNumber int50
base.getNumber int250
subclass static block
base.getNumber int100
base nonstatic block
100
base start
initializeOrder.draw 0
base end
base.getNumber int1001
base.getNumber int10
subclass nonstatic block
1001
initializeOrder initialized
分享到:
相关推荐
java 数组初始化 详解 doc
基于java的开发源码-ejbCreate函数用于初始化一个EJB实例.zip 基于java的开发源码-ejbCreate函数用于初始化一个EJB实例.zip 基于java的开发源码-ejbCreate函数用于初始化一个EJB实例.zip 基于java的开发源码-...
RDBMS--MYSQL--1.MYSQL初始化--6.mysql_5.7初始化.pdf
【IT十八掌徐培成】Java基础第03天-03.数组的定义-初始化-越界异常-Null异常.zip
初始化-Docker环境.pdf
内容概要: 数组初始化-Java中的方法,word格式,直接打开便可以学习使用,可以方便大家进行学习。虽说不可能全面,但也可以作为一个学习索引,大家可以根据自己的需求,进行学习。 关键信息:word格式,wps和word...
这是这本书中所有的数据库初始化语句,这样,整本书的教程都已经上传完了,祝你学习愉快!
详细讲解java类中静态变量,普通标量,对象、基本类型的初始化顺序。
初始化-CentOS7.pdf
java编程思想-初始化与清理了解this之后,你就能更全面地理解“静态(static)方法”的含义。静态方法就是没有this的方法。在“静态方法”的内部不能调用“非静态方法”,反过来倒是可以的。而且你可以在没有创建...
LPDDR4 LPDDR4X的设计详解1----上电时序及初始化
介绍一下java程序初始化的顺序,这会对您以后的开发所有帮助
java面试题-类的初始化顺序.doc 大家在去参加面试的时候,经常会遇到这样的考题:给你两个类的代码,它们之间是继承的关系,每个类里只有构造器方法和一些变量,构造器里可能还有一段代码对变量值进行了某种运算,...
对java类初始化以及顺序,详解,由于转载仅供大家参考!
Android 蓝牙A2dp-Avrcp初始化-连接-播放源码分析文档大全,非常详细的从btif-bta-btm-hci 数据流程走向,以及从controller收到数据到btm层,将Android 源码每个函数都摘录出来,进行分析,使Android 蓝牙开发者更...
用友u8c快速实施-供应链账套初始化-刘艳
NULL 博文链接:https://949507869-qq-com.iteye.com/blog/1053933
本系统采用Servlet+Jsp+JavaBean+SQL2000 设计方式,其中Servlet担当主要逻辑控制,通过接受Jsp传来的用户请求,调用以及初始化JavaBean,在通过Jsp传到客户端,本系统中SqlBean担当主要的与数据库的连接与通信,...
Java虚拟机规范 Java SE 8版-带目录-pdf,本书完整而准确地阐释了Java虚拟机各方面的细节,围绕Java虚拟机整体架构、编译器、class文件格式、加载、链接与初始化、指令集等核心主题对Java虚拟机进行全面而深入的分析...