博客
关于我
Java 在接口Interface中 使用关键字 default
阅读量:123 次
发布时间:2019-02-27

本文共 1399 字,大约阅读时间需要 4 分钟。

default关键字在接口中的应用

在Java编程中,default是一个关键字,通常用于接口方法的实现中。当接口定义了多个实现类(impl),并且这些实现类都需要实现同一个方法时,使用default修饰符可以在接口中直接定义一个通用的实现。这种情况下,所有实现类都会继承这个默认实现。

例子解释

假设有多个具体实现类,如程序员、教师等,它们都需要实现一个公共的行为。例如,在疫情防控中,戴口罩是一个普遍的行为。我们可以将这个行为定义在接口中使用default修饰。

public interface GoOutService {
default void wearMask(Boolean b) {
if (b) {
System.out.println("已戴,安全出行,为己为人");
} else {
System.out.println("sorry");
}
}
void goOutWay(Boolean b);
static void getWeatherInfo(Boolean b) {
System.out.println("今日天晴,可出行");
}
}

实现类示例

public class ItManGoOutImpl implements GoOutService {
@Override
public void goOutWay(Boolean b) {
System.out.println("ItMan 坐地铁");
}
}
public class TeacherGoOutImpl implements GoOutService {
@Override
public void goOutWay(Boolean b) {
System.out.println("Teacher 骑自行车");
}
}

测试用例

@RestController
public class MyController {
@Autowired
private GoOutService itManGoOutImpl;
@Autowired
private GoOutService teacherGoOutImpl;
@GetMapping("/myTest")
public void myTest() {
Boolean b = true;
itManGoOutImpl.wearMask(b);
itManGoOutImpl.goOutWay(b);
teacherGoOutImpl.wearMask(b);
teacherGoOutImpl.goOutWay(b);
}
}

注意事项

  • 如果使用Spring框架,可以通过@Service注解注册实现类。
  • default修饰的方法与实体类的无修饰方法不同,前者会在所有实现类中执行相同逻辑。
  • 这种方法简化了接口实现的复杂性,使得所有实现类共享相同的行为。

    转载地址:http://fjwb.baihongyu.com/

    你可能感兴趣的文章
    MySQL 中日志的面试题总结
    查看>>
    mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
    查看>>
    MySQL 中的外键检查设置:SET FOREIGN_KEY_CHECKS = 1
    查看>>
    Mysql 中的日期时间字符串查询
    查看>>
    mysql 中索引的问题
    查看>>
    MySQL 中锁的面试题总结
    查看>>
    MySQL 中随机抽样:order by rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>
    mysql 为某个字段的值加前缀、去掉前缀
    查看>>
    mysql 主从
    查看>>
    mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
    查看>>
    mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
    查看>>
    mysql 主从关系切换
    查看>>
    MYSQL 主从同步文档的大坑
    查看>>
    mysql 主键重复则覆盖_数据库主键不能重复
    查看>>
    Mysql 事务知识点与优化建议
    查看>>
    Mysql 优化 or
    查看>>
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>
    Mysql 会导致锁表的语法
    查看>>