Java认证辅导:关于Java对象初始化大全
+ \! g( n; P7 W0 i5 F$ QJava对象初始化大全 g4 ^- {' h# `4 U: H2 F' [
Java对象& V3 x3 J ~0 i6 n& `, @1 k
class A{
3 E1 H& j9 ]1 ?9 U{show(0);}: B+ n! Y$ R4 p5 D
int x=1;( D6 d. `. p8 c- E8 O0 S, x# j
{show(1);}5 [4 M8 \( [3 B, z( Q T: U
A(){x=2;}6 m0 o. {9 r/ Q% z& w' J$ D
void show(int label){}
5 y$ @ Q: S$ N8 g* z: f}
2 m8 c4 `+ G: B* D$ hclass B extends A{) N* s' ^' J2 G [3 ?6 Z* e
{show(2);}
/ i9 [ A% M, m; R2 sint y=1;
8 ]% _) u6 c5 f9 K' j{show(3);}, p% M) e, n M* { U
B(){y=2;}* z9 ]6 i4 A1 e
void show(int label){$ Q4 I0 G0 }0 P( Z
System.out.println(label+“: x=”+x+“ y=”+y);
6 n6 r, }% e6 o+ D) q$ Z}/ {: m- {( y( }/ O1 ~
}- q. S* D5 M4 p0 J+ F% n' _- `
public class C{
9 Q2 ^1 w$ m. U: Spublic static void main(String[] args){) V p% X* b# ^, c: \# I
new B()。show(4);
, y; h3 r) ? `9 l* T- h1 o& D0 V7 w}! A. R; ^- \% u; |2 X0 E8 j8 m' w
}* R9 ^+ C8 i( j/ ^: E8 _
输出:
& I/ v, I6 G8 }. D d d=================================================+ ?. ^/ [6 J& \" B/ [
0: x=0 y=0
& X3 Q- H: H3 v9 l3 H& V @1: x=1 y=0
* h `* M* `% D/ J2 q2: x=2 y=0! a( J6 Q9 ]$ R/ ~9 m* v+ B
3: x=2 y=1
0 b8 {7 J1 O- W: X+ p8 H8 u4 ]4: x=2 y=20 C6 _1 B: F6 m0 z/ U7 A
说明了初始化的顺序:+ p ~ _. T% i4 I
0. 为基类和子类的成员分配存储空间! m% `6 X* @: s" j
1. 基类成员赋初值7 D K; f5 ?: A, s1 F
2. 基类构造函数
1 x+ a4 f9 C; i! J3. 子类成员赋初值
8 ~3 V/ p1 `2 [4. 子类构造函数 |