/**
* 1.有抽象方法的类只能定义成抽象类
* 2.抽象类不能被实例化,即不能用new实例化类
* 3.抽象类可以包含属性,方法,构造方法,但构造方法不能用new来实例,只能被子类继承
* 4.抽象方法必须被子类实现
*/
//抽象类
abstract class Animal {
//抽象方法
abstract public void shout();
public void run() {
System.out.println("冲啊!");
}
}
class Dog extends Animal{
//子类必须实现父类的抽象方法,否则编译错误
public void shout() {
System.out.println("汪汪汪!");
}
}
//测试抽象类
public class Abstract {
public static void main(String[] args) {
Dog d=new Dog();
d.shout();
d.run();
}
}
运行结果
汪汪汪!
冲啊!