A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class Program
  2.     {
  3.         static void Main(string[] args)
  4.         {
  5.             Person.a = 40;
  6.             Person.Pr();
  7.             person1.Ei();
  8.             Console.ReadKey();

  9.         }
  10.     }
  11.     public class Person  //这里如果不加public与加了public有何区别?
  12.     {
  13.         public static int a;

  14.         public static void Pr()
  15.         {
  16.             Console.WriteLine("静态成员"+a);
  17.         }
  18.     }
  19.     class person1
  20.     {
  21.         public static void Ei()
  22.         {
  23.             Console.WriteLine("我今年{0}岁",Person.a);
  24.         }
  25.     }
  26.    
复制代码
public是允许访问的最高级别,如果在创建一个类的开头加public是表示可以访问本项目之外的项目吗?

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

4 个回复

倒序浏览
这就涉及到了权限的问题啊!
不加public就是默认的权限啊!就只能在同一个包中被其它类访问,具有包可见性!
加了public在整个项目中都可以被访问啊!
还要注意的就是如果你使用一些强大的编程工具如:eclipse如果不加public,class后的类名可以不和文件名一样!
如果加了public是一定要和文件名一样的要不会编译报错!

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
对于类来说 public 修饰符在任何地方都可以访问,不加修饰符的话默认是internal表示在当前程序集内都可以被调用到
对于类中的方法字段和属性public也表示任何地方都可以访问,不过不加修饰符的话表示protected,只有在当前类和当前子类中可以访问。

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
public          全部可见
protected       子类可见
default         包内可见
private         本类可见
不加就是默认的包可见,就是同一包内可以访问,加public就是都可用
回复 使用道具 举报
加上public就是完全公开,没有访问的限制;但是不加public的话,就只能在同一命名空间中可以访问
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马