1.什么是抽象方法:
抽象方法格式:***public *abstract void 方法名();
1.抽象方法的关键字:abstract;
2.抽象方法中没有方法体。
2.什么是抽象类:
1.抽象类不可以实例化;
2.继承一个抽象类,必须实现抽象中的抽象方法,除非子类也是抽象方法。
3.抽象类的好处是什么(为什么要使用抽象类):
抽象方法—-是一个模板式约束,避免了子类的随意性,需要实现它的类必须重写他的抽象方法。
4.附代码:
package com.lenvov.www;
public class Fruit {
public abstract void eat(); //抽象方法
}
定义一个水果的类;其中定义抽象方法,会报错,是因为类也必须是抽象类。给类定义成抽象类 例如 :
package com.lenvov.www;
public abstract class Fruit { //抽象类
public abstract void eat(); //抽象方法
}
package com.lenvov.www;
public class Apple extends Fruit{ //继承了抽象水果类
@Override
public void eat() {
System.out.println("苹果好吃不"); //实现父类的抽象方法
}
}
定义了一个苹果类继承水果类,因为水果类是抽象类,所以苹果类必须实现水果类的抽象方法。如果苹果类也是抽象类,则不需要实现水果类的抽象方法。例如:
package com.lenvov.www;
public abstract class Apple extends Fruit{ //子类也是抽象类
}