静态
静态成员:静态成员变量是和类相关联的,可以作为类中“共”有的变量(是一个共性的表现),静态成员不依赖特定对象的存在,访问的时候通过类来操作。静态成员使用static关键字修饰。
分为静态成员变量和静态方法。
class Person
{
//年龄
public static int age;
//设置年龄
public static void SetAge(int age){
Person.age = age;
}
}
- 静态随着类的加载而加载,无论对一个类创建多少个对实例,静态成员都只有一个。
- 静态方法可以被重载。
- 静态成员有类名通过点语法调用,非静态成员是由对象来调用。
- 静态方法只能访问静态成员,包括静态成员变量和静态方法;实例方法可以访问实例成员变量和实例方法,也可以访问静态成员。
抽象
- 抽象类不能使用new关键字进行实例化,因为抽象类是不完整的;
- 抽象方法必须放在抽象类里,class前面添加修饰符abstract;
- 抽象方法返回值前面也要加修饰符abstract;
- 抽象方法没有方法体,格式为:方法修饰符 abstract 返回值类型 方法名(参数列表);
- 抽象方法必须被子类重写并实现,或使其子类仍然为抽象类;
- 抽象方法的访问修饰符不能是private,不然就无法被子类访问了,也就无法重写了。
//抽象类
abstract class Enemy{
//抽象方法
public abstract void Attack();
}
class Dog{
//父类中的抽象方法在子类中重写并实现
public override void Attack(){
Console.WriteLine("撕咬");
}
}