1、public virtual string ToString();//在基类Object中,ToString 被声明为virtual
2、String类是密封的,sealed
3、sealed 可以密封类和定义为virtual的方法
4、修饰符:
修饰符 | 应用于 | 说明 |
public | 所有类型或成员 | 任何代码均可以访问该项 |
protected | 类型和内嵌类型的所有成员 | 只有派生的类型能访问该项 |
internal | 所有类型或成员 | 只能在包含它的程序集中访问该项 |
private | 类型和内嵌类型的所有成员 | 只能在他所属的类型中访问该项 |
protected internal | 类型和内嵌类型的所有成员 | 只能在包含它的程序集和派生类型的任何代码中访问该项 |
new | 函数成员 | 成员用相同的签名隐藏继承的成员 |
static | 所有成员 | 成员不作用于类的具体实例,也称为类成员,而不是实例成员 |
virtual | 仅函数成员 | 成员可以由派生类重写 |
abstract | 仅函数成员 | 虚拟成员定义了成员的签名,但没有提供实现代码 |
overried | 仅函数成员 | 成员重写了继承的虚拟或抽象成员 |
sealed | 类、方法和属性 | 对于类,不能继承自密封类。 对于属性和方法,成员重写已继承的虚拟成员,但任何派生类中的成员都不能重写该成员,该成员的修饰符必须与override一起使用 |
extern | 仅静态[DllImport]方法 | 成员在外部用另一种语言实现。 |
5、接口数组:
IBankAccount[] s = new IBankAccount[2] ;
s[0] = new SomeClass();
s[0].PayIn(10);
s[0].Withdraw(2);
WriteLine(s[0].ToString());
6、接口可以派生接口
7、SomeClass someClass = o as SomeClass;//如果失败,someClass 为 null