Chinaunix首页 | 论坛 | 博客
  • 博客访问: 82349
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 839
  • 用 户 组: 普通用户
  • 注册时间: 2013-03-12 14:38
个人简介

我在收集一些石头,我期待它们有一天能够串联成一串项链。

文章分类

全部博文(31)

文章存档

2013年(31)

我的朋友

分类: Java

2013-04-03 14:53:59

示例代码(From Java SE 6.0 编程指南):

点击(此处)折叠或打开

  1. class MyClassFather
  2. {
  3.     public MyClassFather()
  4.     {
  5.         System.out.println("执行要创建对象类父类的构造器!!!");
  6.     }
  7. }

  8. class MyClass extends MyClassFather
  9. {
  10.     //非静态成员
  11.     Unstatic u=new Unstatic();
  12.     final UnstaticFinal uf=new UnstaticFinal();
  13.     {
  14.         System.out.println("执行非静态语句块!!!");
  15.     }
  16.     //静态成员
  17.     static
  18.     {
  19.         System.out.println("执行静态语句块!!!");
  20.     }    
  21.     static final StaticFinal sf=new StaticFinal();
  22.     static Static s=new Static();
  23.     //类构造器
  24.     MyClass()
  25.     {
  26.         System.out.println("执行要创建对象类的构造器!!!");
  27.     }    
  28. }
  29. //用来打印类静态final的成员变量的类
  30. class StaticFinal
  31. {
  32.     StaticFinal()
  33.     {
  34.         System.out.println("静态final的成员变量初始化!!!");
  35.     }
  36. }
  37. //用来打印类静态非final的成员变量的类
  38. class Static
  39. {
  40.     Static()
  41.     {
  42.         System.out.println("静态非final的成员变量初始化!!!");
  43.     }
  44. }
  45. //用来打印类非静态final的成员变量的类
  46. class UnstaticFinal
  47. {
  48.     UnstaticFinal()
  49.     {
  50.         System.out.println("非静态final的成员变量初始化!!!");
  51.     }
  52. }
  53. //用来打印类非静态非final的成员变量的类
  54. class Unstatic
  55. {
  56.     Unstatic()
  57.     {
  58.         System.out.println("非静态非final的成员变量初始化!!!");
  59.     }
  60. }
  61. public class Sample10_16
  62. {
  63.     public static void main(String[] args)
  64.     {
  65.         //创建对象
  66.         new MyClass();
  67.     }
  68. }
        output:
        执行静态语句块!!!
        静态final的成员变量初始化!!!
        静态非final的成员变量初始化!!!
        执行要创建对象类父类的构造器!!!
        非静态非final的成员变量初始化!!!
        非静态final的成员变量初始化!!!
        执行非静态语句块!!!
        执行要创建对象类的构造器!!!

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Java程序在执行过程中,类,对象,以及他们成员函数加载,初始化的顺序——
    当创建一个对象时:
    1.首先加载创建兑现的类机器直接与间接父类。
    2.在类加载的同时,加载静态成员,包括静态成员的初始化,静态语句的执行(按先后顺序
    3.类加载完成后,开始创建对象,先加载非静态成员,(包括非静态成员的初始化,和非静态语句块的顺序执行
    4.最后执行构造器,对象生成。




阅读(941) | 评论(0) | 转发(0) |
0

上一篇:Java 构造器

下一篇:Java单列模式

给主人留下些什么吧!~~