/*
* 方法抽象,类必须抽象,abstract修饰
* 可以修饰方法,类,不能修饰变量
* 抽象的条件:
* 当我们多个类存在相同功能名时,这时抽取相同功能名,先继承,再将父类抽象化
* 抽象类的特点:
* 抽象方法一定在抽象类中,抽象类和抽象方法必须要被abstract修饰
* 抽象的类不能被创建对象的
* 抽象类中的方法要被使用,必须由子类重写方法,然后创建子类对象来调用(多态)
* 抽象类中可以定义非抽象方法 ,抽象类中可以没有抽象方法。有时需要此类不能被new创建对象时,可以将类抽象化
* 子类如果只重写一部分的抽象方法,那么该子类还是一个抽象类,如果抽象类的方法要被使用,子类必须重写抽象类中的所有方法。
* 注意:
* 抽象类和普通的类没有太大的不同:
* 抽象类无法通过new来创建对象
* 抽象类里面可以有抽象和非抽象方法
* */
abstract class Animal{
abstract void sing();
void show(){
System.out.println("23");
}
}
class dog extends Animal{
void sing(){
System.out.println("111");
}
}
public class chouxiang {
public static void main(String[] args){
Animal c=new dog();
c.sing();
c.show();
}
}