1、const常量。常量名要大写。一定不会变化的值才能声明为常量。
(定义)声明格式:const 常量类型 常量名=常量值; 如:
const double PI=3.14;
常量赋值以后就不能再改变它的值。如:
PI=2; //错误的。因为上面已经赋值过了。
默认规则:常量名一般全部大写,如:PI、SAG、NAME等。
因为常量对于任何的对象的值都不变,所以不需要通过对象来调用,直接通过类名来引用。
每个变量都有自己的生存期,但常量没有生存期的说法,常量从声明的那一刻开始就会一直存在于自己所在的区域里。
PI其实不用自己定义,直接Math.PI;就可以使用了,如:
double d=Math.PI; //PI=3.14159
2、全局变量。static类变量。readonly。
3、不用new就能用的方法:static方法,static方法其实就是普通函数。static类,即静态类。静态类不需要对象,所以静态类中不能有普通的类成员。static成员,在整个程序中都可以调用静态成员,调用方法:类名.静态成员名。
4、在static成员中可以调用其他static成员,但是不能调用非static成员。在非static成员中可以调用static成员。string的static成员和非static成员。不需要记,分析是否有状态就行。
5、静态类,不能被new的类就是静态类。静态类一般用来实现一些函数库。***Helper,SqlHelper,PageHelper
6、sealed类,密闭类。sealed不能被继承。
7、static成员,静态成员,起到全局变量的作用。
引用静态成员的时候,直接“类名.成员名”即可。
调用非static成员必须通过对象(实例)。
class A
{
static public void M1() //static和public的顺序可以互换,这个没有影响。
{
}
}
8、调用非static方法时,变量名.被调用的方法名,如①。
调用static方法时,类型名.被调用的方法名,如②、③。②和③中的被调用方法名,也可以是自己定义的static方法。
string s=”aaa”;
s.Trim(); //①
string.Format(); //②
string.Join(); //③
9、static类,静态类,无法被new的类。静态类中不能声明非静态成员。Math是静态类。
静态类的声明格式:static class 类名。如:
static class A
{
}
10、sealed类,密闭类。sealed密闭类不能被继承,主要基于安全考虑。密闭类可以继承别的类,但是不能被继承;即密闭类可以做子类,但是不能做父类。
面试题:不能创建一个从string类继承的类,因为string是sealed。
sealed class B
{
}