C#中 区别:
一、系统设置不同
当在命名空间建了一个类,什么都不加时,默认修饰符号是internal。
二、范围不同
1、修饰符号是internal表明在当前命名空间内可以实现对类的调用。
2、当类的修饰符是public时,该类不仅在当前命名空间可以被调用,在其它命名空间也可以被调用。任何程序集都可以去调用到它。
三、限制范围不同
1、internal 访问权限限制在程序集之内。针对程序集的,程序集中的任何类都是可以访问internal修饰的类。
2、public访问权限不限制
扩展资料:
C#类的修饰符及意义
1、访问修饰符
public:访问不受限制;
Internal:访问仅限于当前程序集,只有当前工程可以存取;
protected:访问仅限于包含类或从包含类派生的类型,只有包含该成员的类以及继承的类可以存取 protected internal:访问仅限于当前程序集或从包含类派生的类型;
private:访问仅限于包含类型。只有包含该成员的类可以存取。
2、类修饰符:
abstract:可以被指示一个类只能作为其它类的基类;
sealed:指示一个类不能被继承。
3、成员修饰符:
abstract:指示该方法或属性没有实现;
const:指定域或局部变量的值不能被改动;
event:声明一个事件;extern:指示方法在外部实现;
override:对由基类继承成员的新实现;
readonly:指示一个域只能在声明时以及相同类的内部被赋值;
static:指示一个成员属于类型本身,而不是属于特定的对象;
virtual:指示一个方法或存取器的实现可以在继承类中被覆盖。
internal,inside,inner,interior这些形容词均含“内部的、内在的”两个意思。
internal:书面用词,医学上多用,指事物的内部,也可指国内的或内政的。
inside:多指处于某物内部或靠近内部,常可与inner换用,可引申指内幕的,秘密的。
inner:含义广泛,指事物中心或接近中心的部位,也可指内心隐密的活动。
interior:指某物的内部,尤指某物的内侧,也可指内地的或国内的。
internal
例句:
1、He suffered internal injuries in an accident.
他在一次意外事故中受了内伤。
2、The nation's internal affairs are bad.
这个国家的内部情况很乱。
inside
例句:
1、Eventually, you'll learn to cry that on the inside.
终有一天,你会学会让泪往心里流。
2、My insides are crying out for food.
我饿得肚子咕咕直叫。
inner
例句:
1、Once outside the inner breakwater, we began to unfurl all the sails.
一驶出内防波堤,我们就扬起了所有的船帆。
2、If he had inner doubts, it was not apparent to anyone else.
他即使心中生疑,也不会明显表现出来。
interior
例句:
1、The interior was shielded from the curious gaze of passersby.
屋子内部被挡住了,以防路人好奇地张望。
2、His sister is an interior girl.
他的妹妹是个内向女孩。
private:只能在本类中使用
protected:在本类中及其子类中可以使用
internal:同一命名空间(程序集)中的类可以使用
public:所有类均可使用
从上到下,私有程度逐渐降低
public 是外围IP
internal 内网IP
扩展
为什么这么分呢?
补充
第一从字面上分
第二从用途和网络配置来分
public 关键字是类型和类型成员的访问修饰符。公共访问是允许的最高访问级别,对访问公共成员没有限制。
protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。
private 关键字是一个成员访问修饰符。私有访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的。
internal 关键字是类型和类型成员的访问修饰符。只有在同一程序集的文件中,内部类型或成员才是可访问的。
public:
具有最大的访问权限,可以访问任何一个在classpath下的类、接口、异常等。它往往用于对外的情况,也就是对象或类对外的一种接口的形式。
protected:
主要的作用就是用来保护子类的。它的含义在于子类可以用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西
default:
有时候也称为friendly,它是针对本包访问而设计的,任何处于本包下的类、接口、异常等,都可以相互访问,即使是父类没有用protected修饰的成员也可以。
private:
访问权限仅限于类的内部,是一种封装的体现,例如,大多数成员变量都是修饰符为private的,它们不希望被其他任何外部的类访问。
它们的访问权限从大到小排列:public >protected >default >private.
public:类或成员可以由同一程序集中的任何其他代码或引用它的另一个程序集访问。
private:只能通过同一个类或结构中的代码访问类型或成员。
protected:类或成员只能由同一个类中的代码访问,或者在从该类派生的类中访问。
internal:类或成员可以由同一程序集中的任何代码访问,但不能从另一个程序集访问。
扩展资料:
private、 protected、 public、 internal 修饰符除了可以单独使用,还可以组合使用。
protected internal:访问仅限于从包含类派生的当前程序集或类型。
private protected: 访问仅限于从当前程序集中的包含类派生的包含类或类型。
除了使用protected internal或private protected组合时,成员或类只允许使用一个访问修
饰符。名称空间上不允许访问修饰符。命名空间没有访问限制。
根据成员声明发生的上下文,仅允许某些声明的可访问性。如果在成员声明中未指定访问修饰
符,则使用默认辅助功能。
顶级类型(不嵌套在其他类型中)只能具有internal或public可访问性。这些类型的默认可访
问性是internal。
“public static”和“public”有区别:
1、public static 表示公共的静态方法;public 表示公共的方法。
static:静态。可以设置:静态类、静态变量、静态方法。 没有使用static修饰的成员为实例成员。静态成员的使用:通过类名。
不加static修饰的成员是对象成员,归每个对象所有。
加static修饰的成员是类成员,可以由一个类直接调用,为所有对象共有。
用static关键字标识的程序元素是静态的,不用static标识的程序元素是非静态。
2、静态的东西是在类型加载初始时初始化的,并且与类相关;非静态东西一般放在实例的构造函数中初始化,它是与特定类的实例相关的。
public:公共。在类名前边用的话,说明这个类是公共类。可以设置:public方法, public属性, 和public类
表示在其它任何类或方法中都可以访问。要访问其它类中的public的属性、public方法,则必须必对那个类进行实例化。
public : 公共成员,完全公开,没有访问限制。private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。internal: 在同一命名空间内可以访问。