ts static/abstract 的作用区别
static关键字最基本的用法是:
- 被static修饰的变量属于类变量/类方法,可以通过类名.变量名直接引用,而不需要new出一个类
不同的类有自己的静态资源,这可以实现静态资源分类。避免重名。
abstract
- 抽象方法 只有声明,没有实现,不可被实例化,只能被声明引用,不能创建对象,
- 如果一个类中有抽象方法,这个类就必须是抽象类,但是抽象类中未必有抽象方法,抽象类中可以有构造方法
- 子类继承抽象类,如果子类不希望也成为抽象类,他就必须实现父类中声明的所有抽象方法
- 抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写此抽象方法
注:
- 若子类继承抽象类,并重写了所有的抽象方法,则此类是一个”实体类”,即可以实例化
- 若子类继承抽象类,没有重写所有的抽象方法,意味着此类中仍有抽象方法,则此类必须声明为抽象的!