1.五种访问修饰符
(1)public
当前类,子类,实例对象都可以访问到
(2)private
只有当前类能访问到,子类与实例对象都访问不到
(3)protected
只能在当前类的内部以及子类访问到,实例对象访问不到
(4)internal
只能在当前程序集(项目)中访问到
在同一个项目中,internal与public的访问权限是一样的
(5)protected internal
两个访问修饰符的作用相加
2.访问修饰符的使用场合
(1)能修饰类的访问修饰符只有public与internal,默认的类访问修饰符是internal
(2)能修饰类的成员的访问修饰符五种都可以,类中的成员默认访问修饰符是private
3.静态
(1)static关键字
用于修饰字段、类、属性、方法、构造方法等
被修饰的称为静态类、静态成员、静态属性、静态字段、静态方法、静态构造方法
(2)静态字段
概念:静态字段不属于任何对象,只属于类,必须要用类名.静态字段名来访问
对象名.静态字段名是访问不到的
静态字段可以重新赋值
静态字段储存的数据在内存中只有一份,实例(对象)字段会有n份,有多少个对象就会有对少个字段
相当于类的一种固有的属性
(3)静态属性
对静态字段进行封装,保证静态字段的合法性
静态属性不能用来封住非静态成员,因为静态的类成员先于非静态的类成员,在还没有对象之前,静态的类成员就已经存在了
(4)静态普通方法
直接使用类名.静态方法名来调用
静态方法中不能调用非静态方法
非静态方法可以调用静态方法
(5)静态构造方法
一个类中只能有一个静态构造方法,该静态方法没有访问修饰符,也没有参数
作用初始化静态成员
可以定义在静态类中,也可定义在非静态类中
静态的构造方法会在程序创建第一个实例,或者在引用任何静态成员之前,完成静态成员的初始化
(6)静态类
当类中的成员全部都是静态成员时,可以把这个类声明为静态类
静态类中不能有非静态(实例)成员
静态类不能实例化对象(静态类相当于已经实例化了)
单例设计模式