抽象类
关于抽象方法的描述:
- 抽象类必须在抽象类中
- 抽象类不能有方法的实现
- 抽象方法不能使用private修饰符
- 如果抽象类的子类是一个普通的类,那么必须实现(重写)父类中所有的抽象方法
- 抽象方法是用abstract修饰public abstract void Practice();
- 抽象方法使用override
关于抽象类的说明:
- 抽象类中可以有字段丶属性丶方法(普通方法,虚方法,抽象方法)
- 抽象类不可以直接实例化对像,但是可以通过父类应用指向子类对象的方法(Animal ani=new Dog();)
- 抽象方法必须存在于抽象类中,但是抽象类中可以没有抽象方法(就像鱼和水的关系:鱼(抽象方法)必须在水(抽象类)里面才能存活,但是水(抽象类)里是可以没有鱼(抽象方法)的)
- 普通类继承抽象类的时候,必须实现抽象类中的所有抽象方法!
- 抽象类继承于抽象类的时候,可以选择实现父类中的抽象方法,也可以不实现
静态类
关于静态类的说明:
- 什么是静态类? 使用static关键字修饰的类被叫做静态类
{
//int length; //不能包含非静态类成员
static int id = 10;
//void fun(){}//不能包含非静态类成员
static int Abs()
{
return a > 0 ? a : -a ;
}
}
2. 静态类不能实例化对象
3. 静态类内部的成员必须是静态成员,或者是const修饰的常量(常量在定义的同时必须赋值,因为常量在运行期间不能改变)
注意:静态类中没有默认的构造函数,只有静态构造函数