抽象方法和抽象类的使用与注意事项
抽象方法和抽象类的使用
如何使用抽象类和抽象方法:
1.不能直接创建new抽象类对象
2.必须用一个子类来继承抽象父类
3.子类必须覆盖重写父类当中所有的抽象方法。
覆盖重写(实现):子类去掉抽象方法的abstract关键字,然后补上方法体大括号
4.创建子类对象进行使用
父类
public abstract class Animal { //这是一个抽象方法,代表吃东西,但是具体吃什么(大括号的内容)不确定 public abstract void eat(); //这是普通的成员方法 public void method(){ } }
子类
public class Cat extends Animal{ @Override public void eat() { System.out.println("猫吃老鼠"); } }
抽象方法和抽象类的注意事项
一个抽象类不一定含有抽象方法,
只要宝成抽象方法所在的类是抽象类,即可
这样没有抽象方法的抽象类,也不能直接创建对象,在一些特殊场景下有用途
关于抽象类的使用,一下为语法上要注意的细节,虽然条目较多,但若理解了抽象的本质,无需死记硬背
1.抽象类不能创建对象,如果创建,编译无法通过而报错,只能创建其非抽象子类的对象
2.抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的
3.抽象类中 ,不一定包含抽象方法,但是有抽象方法的类必定是抽象类
4.抽象类的子类,必须重写抽象方法父类中所有的抽象方法,否则,编译无法通过而报错,除非该子类也是抽象类
父类
//最高的抽象父类 public abstract class Animal { public abstract void eat(); public abstract void sleep(); }
子类
public abstract class Dog extends Animal{ @Override public void eat() { System.out.println("狗吃骨头"); } }
孙子类
public class Dog2ha extends Dog{ @Override public void sleep() { System.out.println("乌拉!!"); } }
public class DogGolden extends Dog { @Override public void sleep() { System.out.println("呼呼呼......"); } }
测试类
public static void main(String[] args) { // Animal animal = new Animal();//错误 // Dog dog = new Dog();//错误,这也是抽象类 Dog2ha dog2ha = new Dog2ha();//这是普通类,可以直接new对象 dog2ha.sleep(); dog2ha.eat(); System.out.println("=============="); DogGolden dogGolden = new DogGolden(); dogGolden.eat(); dogGolden.sleep(); }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix