例: public abstract void ShowNationality();
如上 abstract 可以和访问修饰符如public 和 返回值类型如void一起使用
但是 abstract 方法不能被private,static所修饰
原因1:abstract方法不能有实现,必须被子类重写override(除非子类也是抽象类)
如果使用使用private关键字,抽象类的外部类无法访问这个方法,也就无从谈起重写
原因2:abstract方法在不同子类中可能会有不同实现,而static方法是静态的在不创建对象时也可以调用,
如果抽象类被static修饰了,那他一开始就被加载了,没有方法体调用了,达不到多态的要求。 |