JAVA面对对象(五)——接口
接口由全局常量和公共的抽象方法组成,接口的定义格式:
1 interface 接口名称{ 2 全局常量; 3 抽象方法; 4 }
接口中的抽象方法必须定义为public访问权限,在接口中如果不写也默认是public访问权限
接口的定义:
1 interface A{ 2 public static final String AUTHOR = "张宇"; //定义全局常量 3 public abstract void print(); //定义抽象方法 4 public abstract String getInfo(); //定义抽象方法 5 }
但是在接口的定义中已经声明了接口是由全局常量和抽象方法组成的,所以可以简化为以下格式:
1 interface A{ 2 String AUTHOR = "张宇"; //等价于:public static final String AUTHOR = "张宇"; 3 void print(); //等价于:public abstract void print(); 4 String getInfo(); //等价于:public abstract String getInfo(); 5 }
与抽象类一样,接口若要使用也必须通过子类,子类通过implement关键字实现接口:
1 class 子类 implement 接口A,接口B,...{ 2 }
实现接口:
1 interface A { 2 public String AUTHOR = "张宇"; 3 public void print(); 4 public String getInfo(); 5 } 6 interface B { 7 public void say(); 8 } 9 class X implements A,B{ //子类同时实现两个接口 10 @Override 11 public void say() { //覆写接口B中的抽象方法 12 System.out.println("Hello World"); 13 } 14 @Override 15 public void print() { //覆写接口A中的抽象方法 16 System.out.println("姓名:"+AUTHOR); 17 } 18 @Override 19 public String getInfo() { //覆写接口A中的抽象方法 20 return "Hello"; 21 } 22 } 23 public class Demo { 24 public static void main(String[] args) { 25 X x = new X(); 26 x.say(); //调用被覆写过的方法 27 x.print(); 28 } 29 }
除此之外,接口也可以继承,且多继承
1 interface 子接口 extends 父接口A,父接口B,...{ 2 }
如果一个子类又要继承抽象类又要继承接口,可用以下格式:
1 class 子类 extends 抽象类 implement 接口A,接口B,...{ 2 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】博客园2025新款「AI繁忙」系列T恤上架,前往周边小店选购
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· MySQL下200GB大表备份,利用传输表空间解决停服发版表备份问题
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· AI浏览器自动化实战
· Chat to MySQL 最佳实践:MCP Server 服务调用
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· .NET周刊【3月第5期 2025-03-30】
· 重生之我是操作系统(八)----文件管理(上)