Java面向对象5-抽象类
abstract修饰类:抽象类
>此类不能实例化
>抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)
>开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作
abstract修饰方法:抽象方法
>抽象方法只有方法名称,没有方法体
>若子类重写了父类中的所有的抽象方法后,此子类方可实例化
若子类没有重写父类中的所有的抽象方法,则该子类也为抽象类
1 public class AbstractTest { 2 public static void main(String[] args) { 3 Student stu1 = new Student("zyx", 18); 4 stu1.eat(); 5 } 6 } 7 8 abstract class Person{ 9 String name; 10 int age; 11 12 public Person(){ 13 } 14 15 public Person(String name, int age){ 16 this.name = name; 17 this.age = age; 18 } 19 20 public abstract void eat(); 21 22 public abstract void walk(); 23 } 24 25 26 class Student extends Person{ 27 public Student(String name, int age){ 28 super(name, age); 29 } 30 31 @Override 32 public void eat() { 33 System.out.println("学生吃饭"); 34 } 35 36 @Override 37 public void walk() { 38 System.out.println("学生走路"); 39 } 40 }
>包含抽象方法的类,一定是抽象类;反之不然。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET10 - 预览版1新功能体验(一)