jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1  static修饰符
    类的成员变量分为静态变量和实例变量,     被stacit修饰的变量,叫静态变量,没被修饰的就是实例变量了.
静态变量的特点,在于其在内存中只有一个COPY,在使用时不需要实例化,直接用类名来调用就可以了.
   同样,比如
     public static int add()
 这样的叫静态方法,同样,使用静态方法时不需要实例化类.
   在静态方法中要注意两点
    A 静态方法中,不能用this关键字,也不能访问非静态变量,比如
    public class Voter{
    private static int count;   
  private String name;  
     

 public static void printVoteResult(){
    System.out.println("当前投票数为:"+count); //正确

     System.out.println("当前投票数为:"+name); //错误
  System.out.println("当前投票数为:"+this.name); //错误

  同样,静态方法中不能用super关键字
    此外,静态方法必须被实现,因为静态方法是表示某个类的特有功能,不需要实例化,因此必须要给实现.,比如
    static abstract void add()是错误的。
2  类的初始化
      A 对于final类型的变量,如果在编译时能计算其值,则此时该类不会被初始化,比如
   class Tester
  {
   public static final int a=2*3;
static
  { 
System.out.println("abc");
    }

}
  public class samle
{
   System.out.println("a="+Tester.a);
  }
 则只会输出a=6
  而如果是编译时算不出的话,则要初始化这个类,比如
   public static final int  a=....运算表达式;
3 final修饰符
    final修饰的方法不能被子类的方法覆盖,修饰的类不能被子类继承,要注意的是,在一个类中,如果出现final常量,则必须被初始化,
  比如
  public a
{
  final int a;//错误
}

posted on 2008-06-16 20:06  jackyrong的世界  阅读(308)  评论(0编辑  收藏  举报