一、抽象类
抽象方法:父类中只定义不实现,具体的实现方法交给子类完成.如果子类没有重写那么编译不通过.
抽象方法的语法:
访问修饰符 abstract 返回值类型 方法名(参数列表......)
注意:
1.使用abstract关键字修饰的方法时抽象方法,修饰的类时抽象类
2.抽象方法只有声明,也就是没有大括号{方法体}
3.抽象方法只能放在抽象类中.
4.抽象方法不能是私有的.
5.抽象方法只能用子类去重写,如果子类没有重写,那么子类中的方法也需要是抽象的.
抽象类:使abstract关键字修饰的类为抽象类,抽象类中可以有普通的方法,也可以有抽象方法
语法:
访问修饰符 abstract class 类名{}
注意:
1.抽象类不能实例化,也就是不能使用new关键字去创建对象
2.抽象类中可以有普通的成员(字段,属性,方法)
抽象方法和虚方法的区别:
1.抽象方法不能有方法体,虚方法必须有方法体
2.抽象方法在子类中必须被重写或者子类是个抽象类,虚方法不一定需要在子类中重写
3.抽象方法一定在抽象类中
二、静态方法
使用static关键字修饰的成员叫做静态成员
1.静态成员只能通过类名.成员名称来实例化成员
2.静态的方法只能访问静态的成员,非静态方法既可以访问静态成员也可以访问非静态成员.
3.static关键字不可以和sbstract,override,virtual同时使用
静态类
使用static修饰的类叫做静态类,在class关键字前面加static关键字
注意:
1.静态类不能被实例化
2.静态类不能被继承,默认是密封的
3.静态类中只能存在静态成员或者const关键字修饰的成员
4.静态类中默认有一个无参的静态构造函数,而且只能是无参无返回值
5.在静态类中的静态构造函数只有当第一次调用静态成员时调用一次
6.在普通类中静态构造方法,在第一次调用静态成员时会调用一次,或者实例化一个对象时也会调用一次
三、单例:
一个类只创建一个实例。
心得体会:
加油冲!!