定义一个类,加一个变量,怎么样让这个变量只能在内部被修改,而在外部能被看到.
是不是这样
public class1{
   protected static int var0 =0;
   public class1{
      var0 = 2005 ;
   }
}我在程序中引用竟然出错,我是这样引用的.
class1 cls1 = new class1;
int a = cls1.var0 ;
这样有问题么,该怎么写?

解决方案 »

  1.   

    public class1{
       private static int var0 =0;
       public class1{
          var0 = 2005 ;
       }
       
       public static int Var
       {
         get
         {
           return var0;
          }
       }
    }
      

  2.   

    如果你把var0设为protected或private,那在类的外部是无法访问的。
      

  3.   

    楼上正解,不过没有必要的话最好不要声明为static
      

  4.   

    那再想问下private 同protected的区别在哪里
      

  5.   

    private只能在该类的内部访问,protected除了在该类的内部能访问,从该类继承的子类内部也可以访问。
      

  6.   

    public class1{
       private static int var0 =0;
       public class1{
          var0 = 2005 ;
       }
       
       public static int Var
       {
         get
         {
           return var0;
          }
       }
    }public class1{
       private static int var0 =0;
       public class1{
          var0 = 2005 ;
       }
       
       public static int Var
       {
         get
         {
           return var0;
          }
       }
    }public class1{
       private static int var0 =0;
       public class1{
          var0 = 2005 ;
       }
       
       public static int Var
       {
         get
         {
           return var0;
          }
       }
    }
      

  7.   

    private声明的成员为私有成员,该成员只有在所声明的类中可以被看见和使用;
    protected声明的成员为保护成员,该成员只有在所声明的类和该类的派生类中被访问,这里要注意,致使在声明成员的类和派生类中访问,该类和派生类的对象中依然不能访问protected成员。