抽象类
java中使用abstract来创建抽象类和抽象方法
-
创建好的抽象类,无法被new实例化,但是不影响方法的使用!
-
抽象类不能直接实例化,只能被继承,可以通过向上转型完成对象实例化
-
抽象类只能被继承
public abstract class Abstract { public void eat() { } public static void main(String arg[]) { Abstract a = new Abstract(); 注意:// 无法直接实例化,因为这是抽象类,这里会出现报错 } }
什么时候使用抽象类?
某个父类只是知道其子类应该包含那些方法,但是无法准确的知道这些子类如何实现这些方法的时候,我们就可以利用抽象类来实现!
抽象方法
abstract可以用创建方法,这种方法叫做抽象方法
- 抽象方法中没有方法体
- 抽象方法必须要在抽象类中
- 抽象方法必须在子类被实现,除非子类也是抽象类
格式:
访问修饰符 abstract void 方法名();
抽象方法和抽象类的注意事项
- 抽象类中可以没有抽象方法,但抽象方法必须在抽象类中
- 子类如果没有重写父类中的抽象方法,那么必须把子类的类修改为抽象类!
- abstract不能和static、private、final这些放在一起!
- 抽象方法在子类实现访问时,他的访问修饰符必须要大于等于父类方法!