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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

用static修饰的类和用private修饰的类,在类成员的调用和访问权限上有何区别?

3 个回复

倒序浏览
1.下面这段代码不能通过编译:
  1. using System;
  2. namespace Que
  3. {
  4.     class Program
  5.     {
  6.         static void Main(string[] args)
  7.         {
  8.         }
  9.     }
  10.     private class C2
  11.     {
  12.     }            
  13. }
复制代码
提示是:在命名空间中定义的元素无法显式地声明为private、protected 或 protected internal

用static修饰的类为静态类,静态类中不能包括非静态成员,也就是说静态类中的成员必须全要用static修饰。访问的时候直接 类名.成员名 即可。
回复 使用道具 举报
C#中类及类型成员修饰符有以下四类:public,private,protected,internal。

public        类及类型成员的修饰符

private   类型成员的修饰符

protected   类型成员的修饰符

internal    类及类型成员的修饰符

由以上四类说明,我们知道,可以放在class前面修饰类的修饰符关键字只有public和internal,如果没写任何关键字,默认是internal.

         1.public class:任何地方该类都可以被访问到。

         2.internal class:只有在同一程序集内,该类才可以被访问到。

而类型成员的修饰符可以是由这四个关键字形成的五种组合,他们分别是:public,protected,private,internal,protected internal.类型成员前如果没写任何关键字,默认为private。
注:
  • protected的权限和private的权限很相似,唯一不同的是protected类型成员可以被子类继承,而private类型成员不可以被继承。
  • protected    internal类型成员可以被理解成protected   or   internal    类型成员。不存在protected   and   internal类型成员。
回复 使用道具 举报
静态不需要NEW (默认是internal本命名空间下能访问)    private 是本身类下才能访问...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马