一 访问控制符
二 static
1 static 的字段、方法、属性是属于整个类的
① static方法中,不能访问实例变量;
② 调用static方法时,直接用类名访问
Console.Write();Math.Sqrt();
Convert.ToDateTime();DateTime.Parse
String.Copy(a);String.Format("{0}",x);
③ static 变量可以用来表示“全局变量”;
在C# 2.0中,类名也可以用static来修饰;
2 static构造方法
class Person{
static long totalNum;
static Person(){
totalNum=(long)52e8;
Console.WriteLine("人类总人口"+totalNum);}}
Static 构造方法只会调用一次,但其调用时间不确定的。
三 const及readonly
1 const相当于静态常量
如Math.PI;
2 readonly相当于不可改量,只能赋一次值
如String.Empty;
在构造方法中赋值,或者在声明时就复制;
注:
const 只能用于基本类型及string;
readonly只能修饰字段,而const还可以修饰局部变量;
四 sealed及abstract
1 sealed类,不可继承(也有利于编译优化)
如String Console Math Convert Graphics Font;
2 abstract类,不可实例化(new)
如Array,RandomNumberGenerator;
3 abstract的方法体,不用{},用;
abstract 类型 方法名(参数列表);
abstract 类型 属性名{get;set;}
五 抽象类表示了其子类的属性
六 总结
① public/private/internal/protected是访问修饰符;
② static 属于类的而非实例的;
③ const 常量 readonly只读量;
④ sealed不可继承的,abstract 抽象的;
测试:
①C#中,用那个符号来表示继承 :
②访问父类的成员,使用关键字 base;
③ C#所有的类都是object的子类;
④ 要重写父类的方法,使用关键词
override;
⑤ 判断一个对象时不是某个类的实例,使用运算符 is;
⑥ 类似于强制类型转换但不抛出异常的运算符是 as;