java基础30-接口

接口作为Java中的规范,定义了一组规则,体现了如果你是...则必须能...的思想。它是一种契约,规定了实现接口的类必须实现哪些方法。文章展示了如何声明和实现接口,以及接口与抽象类的区别。UserService和TimeService接口被UserServiceImpl类实现,强制要求实现接口中的所有方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java基础30-接口


  • 普通类:只有具体实现

  • 抽象类:具体实现和规范(抽象方法)都有

  • 接口:只有规范 无法自己写方法 专业的约束 约束和实现分离:面向接口编程

  • 接口就是规范.定义的是一组规则,体现了现实世界中"如果你是…则必须能…"的思想.如果你是天使,则必须能飞,如果你是汽车,则必须能跑,如果你是好人,则必须干掉坏人,如果你是坏人,则必须欺负好人

  • 接口的本质是契约,就像我们人间的法律一样,制定好后大家都遵守

  • OO的精髓,是对对象的抽象,最能体现这一点的就是接口.为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如C++,java,C#等),就是好因为设计模式所研究的,实际上就是如何合理的去抽象

  • 声明类的关键字是class,声明接口的关键字是interface


package com.oop.demo09;

public interface UserService{//接口都需要有实现类
	//常量为public static final 
	int AGE = 99;//很少在接口中定义常量
	//接口中的所有定义的方法其实都是抽象的public abstract
	void add(String name);
	void delete(String name);
	void update(String name);
	void query(String name);
}
package com.oop.demo09;

public interface TimeService{//接口都需要有实现类
	void timer();
}
package com.oop.demo09;
//类通过implements实现接口
//实现了接口的类就需要实现接口中的方法
public class UserServiceImpl implements UserService,TimeService{//可实现多个接口
	@Override
	public void add(String name){//重写接口中的方法
	}
	@Override
	public void delete(String name){
	}
	@Override
	public void update(String name){
	}
	@Override
	public void query(String name){
	}
	@Override
	public void timer(){
	}
}

  • 约束
  • 定义一些方法,让不同的人实现
  • public abstract
  • public static final
  • 接口不可以实例化,接口中没有构造方法
  • implements可以实现多个接口
  • 必须重写接口中的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值