面向对象-抽象类-1

面向对象-抽象类-1

// 父类 动物
public abstract class Animal { //抽象类要用abstract关键字
//abstract关键字要类和方法的权限修饰符后面!@@@
public abstract void eat(); //抽象方法没有具体的方法体
public void sleep(){ //抽象类中可以有具体的方法,
System.out.println("Z z z...");
}
}
//------------------------
// 子类 猫
public class Cat extends Animal{
@Override
public void eat() {
System.out.println("猫吃鱼.");
}
}//抽象类的子类,要么重写父类的所有抽象方法
//---------------------------
// 子类 狗
public abstract class Dog extends Animal {
} //抽象类的子类,不重写父类的所有抽象方法,就得自己是抽象类.
//---------------------------
//测试类
/*
1. 抽象类和抽象方法要用abstract关键字来修饰.
abstract关键字要类和方法的权限修饰符后面!
2. 抽象类里可以有非抽象方法.
3. 抽象类不能实例化! 要用多态的形式通过子类对象实例化.
4. 抽象类的子类,要么重写父类的所有抽象方法,要么自己是抽象类.
*/
public class Demo {
public static void main(String[] args) {
//Animal a = new Animal(); 抽象类不能实例化!
//要访问抽象类的方法,要用多态的方式,子类访问.
Animal a = new Cat();
a.sleep(); //调用父类的具体方法
a.eat(); //调用子类重写的方法
}
}
posted @   大宝贝94106  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示