package day11.AnimalAbstract;
public abstract class Animal {
/*
现在来开始说abstract
只是一个抽象的东西 abstract用于把类修饰成一个抽象类 为什么要将其变成一个抽象类?
因为在一个类里面有好多东西是无法用语言来描述完的 比如说动物类 方法为动物吃饭那么怎么吃呢?用什么吃呢?
此时需要用到抽象来修饰了 修饰的时候不用写{}就是不用让其成为一个方法体
需要注意得是
如果一个类是抽象的 那么不一定这个类里面就一定有抽象方法
但是如果一个类里面的方法是抽象的那这个类必是抽象类 不然就会报错
相当于最顶层的架构师架构的一段标签 让你在下面重写
怎么重写呢?
这个下面就需要用到子类 用子类重写的时候 在描述类的这一句public class Dog extends Animal 可以就不用加abstract
但是下面就得重写
抽象方法是一种特殊的方法:他只有声明,而没有具体的实现
抽象类不能被实例化,但可以有构造方法,不能用抽象类创建对象
需要创建对象的时候就需要用它的子类 这个例子里面就是dog来创建
创建好之后就可以调用了 还可以调用抽象类里面的非抽象方法
*/
public abstract void eat();
public abstract void sleep();
public void fly(){
System.out.println(“fly”);
}
}