9.抽象类和静态类
1.抽象类:抽象类是对问题,对象的分析,设计出来的抽象的概念,是一系列看上去不同,但是本质相同的具体概念抽象
1.1抽象类特性:(1)抽象类不能实例化,因为是不完整的
(2)抽象类只能被继承,当作其他类的基类(继承了抽象类的非抽象派生类必须重写其中的抽象成员)
(3)可以有不同成员也可以用抽象成员
(4)抽象类不能实例化,但是可以用构造方法
(5)抽象类不能使用sealed关键词修饰
抽象方法:(1)抽象方法只能有方法的定义,不能有方法的实现
(2)抽象方法使用abstract来修饰
(3)抽象方法所在的类也必须使用abstract来修饰
(4)当父类当中的方法在子类中有不同的实现,就将该方法定义成抽象方法
(5)当一个类没有实现继承基类当中的抽象方法时,该类也必须使用abstract来修饰
(6)抽象方法可以使用public protected 修饰,但是不能使用private修饰
2.静态类:static修饰类成员的 static修饰的类成员都是随着类的加载而加载,整个内存当中只用一份,static修饰的成员由类名调用,和任何对象无关。
2.1静态成员跟非静态成员访问权限:静态成员只能访问静态成员,不能访问非静态成员
非静态成员可以访问非静态成员及静态成员
2.2静态方法可以重载但是不能重写
2.3一个类的静态构造函数会在它的所有的派生类的静态构造函数执行结束后执行(派生类进行了实例化)
2.4.1静态构造函数是固定格式,不能有修饰符,不能带任何参数
2.4.2一个类只能有一个静态构造函数,即静态构造函数不能重载
2.4.3静态构造函数不可以直接被调用,当创建类实例或引用任何静态成员之间,静态构造函数就会被自动调用,并且只执行一次
2.4.4一个类的静态构造函数在它的所有派生类的静态构造函数执行之后执行