private 是私有的
public 是公共的。
如果你在一个class里定义一个 private int a = 0;那这个a变量只能在这个class里访问到,
如果定义为public的外面的类才可能访问得到。这样做的目的就是为了程序集的安全。比如,
你可以写一个外部的程序,然后去内存中访问另一个程序的一些变量,方法然后再更改就可以达到破坏程序的作用,所以加了访问修饰符,一些关键的代码,别人就访问不到了
可访问性级别(C# 参考)
使用访问修饰符 public、protected、internal 或 private 可以为成员指定以下声明的可访问性之一。
声明的可访问性
含义
public
访问不受限制。
protected
访问仅限于包含类或从包含类派生的类型。
internal
访问仅限于当前程序集。
protectedinternal
访问仅限于从包含类派生的当前程序集或类型。
private
访问仅限于包含类型。
一个成员或类型只能有一个访问修饰符,但使用 protectedprotected 组合时除外。
命名空间上不允许使用访问修饰符。命名空间没有访问限制。
根据出现成员声明的上下文,只允许某些声明的可访问性。如果在成员声明中未指定访问修饰符,则使用默认的可访问性。
不嵌套在其他类型中的顶级类型的可访问性只能是 internal 或 public。这些类型的默认可访问性是 internal。
嵌套类型是其他类型的成员,它们可以具有下表所示的声明的可访问性。
属于
默认的成员可访问性
该成员允许的声明的可访问性
enum
public
无
class
private
public
protected
internal
private
protectedinternal
interface
public
无
struct
private
public
internal
private
嵌套类型的可访问性取决于它的可访问域,该域是由已声明的成员可访问性和直接包含类型的可访问域这二者共同确定的。但是,嵌套类型的可访问域不能超出包含它的类型的可访问域。
访问修饰符是一些关键字,用于指定声明的成员或类型的可访问性。本节介绍四个访问修饰符:
public
protected
internal
private
使用这些访问修饰符可指定下列五个可访问性级别:
public:访问不受限制。
protected:访问仅限于包含类或从包含类派生的类型。
Internal:访问仅限于当前程序集。
protected internal:访问仅限于当前程序集或从包含类派生的类型。
private:访问仅限于包含类型。
本节还介绍以下内容:
可访问性级别:使用四个访问修饰符声明五个可访问性级别。
可访问域:指定在程序节的哪个位置可以引用成员。
可访问性级别的使用限制:概述了声明的可访问性级别的使用限制。
private 是私有的,只能调用于其作用域内;
public 是公共的,任何域内都能调用它。
这是两者之间最大的区别。
private 私有的,作用域:只能在类内部使用
public 公开的,作用域:任何地方都可以调用