抽象方法和抽象类
抽象方法:
使用abstract修饰的方法,没有方法体 ,只有声明定义的是一种“规范”,就是告诉子类必须要给抽象方法提供相应具体的方法
抽象类:
包含抽象方法的类就是抽象类,通过abstract方法定义规范,然后要求子类必须具体实现。通过抽象类,我们可以做到严格限制子类的设计,使子类间更加通用。
抽象类的使用要点:
1、有抽象方法的类只能定义成抽象类
2、抽象类不能实例化,即不能用new来实例化抽象类
3、抽象类可以包含属性、方法。构造方法。但是构造方法不能用new实例,只能用来被子类调用
4、抽象类只能用来继承
5、抽象类必须被子类实现
* 抽象类
*/
package cn.wu.oo;
abstract class Animal2 {
abstract public void shout();//1、有抽象方法的类只有定义成抽象类
//3、抽象类可以包含方法、属性、构造方法,但是不能用来new实例
//只能被子类调用
}
class Dog1 extends Animal2{ //4、抽象类只能用来被继承
//子类必须实现父类的抽象方法,否则编译错误
public void shout(){ //5、抽象方法必须被子类实现
System.out.println("汪汪汪!");
}
public void seeDoor(){
System.out.println("看门中!");
}
}
* 测试抽象类
*/
package cn.wu.oo;
public class TestAbstractClass {
public static void main(String[]args){
Dog1 a = new Dog1(); //2、抽象类不能实例化,即不能用new实例化抽象类
a.shout();
a.seeDoor();
}
}