(1)代码块

程序中使用"{}"括起来的代码称为代码块,代码块有四种:

普遍代码块:直接在一个方法中出现的"{}"

构造块:直接在类中定义的代码块,构造块会像构造方法一样,在实例化对象的时候执行,但是构造块优先于构造方法执行

静态块:使用static关键字声明的代码块,主要目的是用来为静态属性初始化,静态块优先于主方法,而且也优先于构造方法执行,并且只执行一次。

同步代码块:

class Demo{

       {     // 构造块

              System.out.println("*********** 构造块 *************") ;

       }

       static{

              System.out.println("*********** 类中的静态块 *************") ;

       }

       public Demo(){      // 构造方法

              System.out.println("*********** 构造方法 *************") ;

       }

};

public class CodeDemo03{

       static{

              System.out.println("*********** 主类中的静态块 *************") ;

       }

       public static void main(String args[]){

              new Demo() ;

              new Demo() ;

              new Demo() ;

       }

};

(2)内部类

内部类:在一个类的内部包含的类,可以方便的访问外部类中的私有成员

如果想在外部类之外使用内部类的实例化对象:

    外部类名称  外部类对象=new 外部类名称()

外部类名称.内部类名称  内部类对象名称=外部类对象.new  内部类名称()

如果一个内部类使用static关键字声明的话,则此内部类就将成为外部类,可以直接通过:

    外部类.内部类  的形式访问。

class Outer{

       private static String name = "HELLO WORLD!!!" ;

       static class Inner{

              public void print(){

                     System.out.println("name = " + name) ;

              }

       };

};

public class InnerClassDemo04{

       public static void main(String args[]){

              Outer.Inner in = new Outer.Inner() ;     // 实例化内部类对象

              in.print() ;

       }

};

在方法中定义的内部类,可以直接访问外部类中的各个成员,但是如果要访问方法中的参数,则在参数上要使用final关键字声明。

class Outer{

       private String name = "HELLO WORLD!!!" ;

       public void fun(final int temp){

              class Inner{

                     public void print(){

                            System.out.println("temp = " + temp) ;

                            System.out.println("name = " + name) ;

                     }

              }

              new Inner().print() ;

       }

};

public class InnerClassDemo06{

       public static void main(String args[]){

              new Outer().fun(30) ;

       }

};

posted on 2011-01-21 19:41  魔战  阅读(120)  评论(0编辑  收藏  举报