java类的初始化_java类的初始化

关于JAVA类的初始化

(1)classLoad时候的初始化.

classLoad时根据书写顺序初始化class字段和方法在任何方法之前.并不初始化静态字段和方法,构造函数可作为static看只有当class被实例化并被使用或作为类变量使用时才初始化,仅初始化一次.

(2)class实例化时的初始化.

当class被实例化时,class字段根据构造方法以及类实例方法再次初始化各实例字段.

(3)构造函数的初始化.

当父类被子类继承时,子类实例化时会初始化子类的构造函数,若在子类构造函数中并未明确指出所调用的父类构造函数,将会缺省调用父类的缺省构造函数.此时父类的缺省构造函数必须存在,不然就会编译错误.

(4)在未初始化就调用编译将通不过

关于java的隐藏实现

关键字 private public protected 包级

例子:

class Initialize

{

private String s;

protected int i;

public boolean b;

char c;

String ss=f2();

private uu u;

private static String sStatic;

Initialize()

{

System.out.println(s+"\n"+i+"\n"+c+"\n"+b+"\n"+u+"\n"+ss);

System.out.println("this is father constructor!");

s="s";

i=1;

c='c';

b=true;

u=null;

}

public static void f()

{

System.out.println(sStatic);

System.out.println("this is static father function!");

}

public void f1()

{

this.f1();

}

public String f2()

{

return s;

}

}

class InitializeSon extends Initialize

{

InitializeSon()

{

System.out.println("this is son constructor!");

}

public static void main(String[] args)

{

InitializeSon init = new InitializeSon();

System.out.println(init.b+"\n"+init.c+"\n"+init.i);

Initialize.f();

//init.f1();

}

}}

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2007-06-27 09:22

浏览 961

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值