C#开发之——访问修饰符、修饰符(3.3)

一 概述

  • 在C#语言中类定义后就要确定类中包含的内容,类总包含的内容被称为类中的成员
  • 类中的成员包含字段、属性、方法。每个类成员在定义时需要指定访问修饰符、修饰符
  • 类的访问修饰符主要有两个,即internal和public,如果省略了访问修饰符,即为internal

二 访问修饰符

类中成员的访问修饰符有4个,具体用法如下:

2.1 public

  • 成员可以被任何代码访问

2.2 private

  • 成员仅能被同一个类中的代码访问,如果在类成员前未使用任何访问修饰符,则默认为private

2.3 internal

  • 成员仅能被同一个项目中的代码访问

2.4 protected

  • 成员只能由类或派生类中的代码访问。派生类是在继承中涉及的,将在后面介绍
  • 字段的定义与前面介绍的变量和常量的定义类似,只是在变量或常量前面可以加上访问修饰符、修饰符
  • 在修饰字段时通常用两个修饰符,即readonly(只读)和static(静态),使用readonly修饰符字段意味着只能读取该字段而不能给字段赋值,使用static修饰的字段是静态字段,可以直接通过类访问该字段,需要注意的是常量不能使用static修饰符修饰

三 字段定义语法形式

1
访问修饰符    修饰符    数据类型    字段名;
  • 在这里访问修饰符和修饰符都是可以省略的,并且访问修饰符和修饰符的位置也可以互换,但从编码习惯上来说通常将访问修饰符放到修饰符的前面

  • 此外,在类中定义字段时,字段名是唯一的

  • 字段在类中定义完成后,在类加载时,会自动为字段赋值,不同数据类型的字段默认值不同,如下表所示:

    数据类型 默认值
    整数类型 0
    浮点型 0
    字符串类型 空值
    字符型 a
    布尔型 False
    其他引用类型 空值

四 实例 在 Test 类中分别定义使用不同修饰符的字段

1
2
3
4
5
6
7
8
9
10
namespace code_1
{
class Test
{
private int id; //定义私有的整型字段 id
public readonly string name; //定义公有的只读字符串类型字段 name
internal static int age; //定义内部的静态的整型字段 age
private const string major = "计算机"; //定义私有的字符串类型常量 major
}
}