Java面向对象-抽象类
定义:在java中,含有抽象方法的类称为抽象类,同样不能生成对象;
注意点:
1,包含一个抽象方法的类是抽象类;
2,抽象类和抽象方法都要用abstract关键字修饰;
3,抽象方法只需要声明而不需要实现;
4,抽象类必须被子类继承,(假如不是抽象类)必须重写抽象父类中的全部抽象方法;
5,抽象类不能被实例化;
我们先来定义一个抽象类:
1 package com.java1234.chap03.sec11; 2 3 /** 4 * 定义一个抽象类People 5 * @author user 6 * 7 */ 8 public abstract class People { 9 10 private String name; 11 12 public String getName() { 13 return name; 14 } 15 16 public void setName(String name) { 17 this.name = name; 18 } 19 20 public void say(){ 21 System.out.println("我的姓名是:"+this.getName()); 22 } 23 24 /** 25 * 定义一个抽象方法 职业 让子类去具体实现 26 */ 27 public abstract void profession(); 28 29 }
抽象类,定义一个属性name 以及方法say() 再定义一个抽象方法 profession 具体实现让子类去实现;
我们搞一个测试类:
我么尝试下实例化下People类:
我们会看到 编译出错,不能实例化People类;
我们定义一个Student类,以及一个Teacher类:
1 package com.java1234.chap03.sec11; 2 3 public class Student extends People{ 4 5 @Override 6 public void profession() { 7 System.out.println("职业是:学生"); 8 } 9 10 }
1 package com.java1234.chap03.sec11; 2 3 public class Teacher extends People{ 4 5 @Override 6 public void profession() { 7 System.out.println("职业是:老师"); 8 } 9 10 }
我们搞一个测试类:
1 package com.java1234.chap03.sec11; 2 3 public class Test { 4 5 public static void main(String[] args) { 6 7 Student student=new Student(); 8 student.profession(); 9 10 Teacher teacher=new Teacher(); 11 teacher.profession(); 12 13 } 14 }
运行输出:
职业是:学生
职业是:老师
本文来自博客园,作者:大码王,转载请注明原文链接:https://www.cnblogs.com/huanghanyu/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具