interface USB { void connect(); } // 没有 { }
class Mouse implements USB { public void connect() { … } }
class Phone implements USB, Charger { … } // 可签多份
public class T22 {
static void plugIn(USB u) { u.connect(); } // 在 T22 里;main 是 static 且直接调它 → 它也 static(08)
public static void main(String[] args) {
plugIn(new Mouse()); // 这一次 u = 鼠标
plugIn(new Phone()); // 这一次 u = 手机
}
}
plugIn("hello") → 编译错:String 没签 USB
每次调用 = 跳进去 → 做完 → 跳回来 → 接着下一行;每次是全新的一次,不累加
main 第1行 → 进入 plugIn → 鼠标连上了 → 离开 → main 第2行 → …
@Mapper public interface UserMapper { User findByUsername(String username); int insertUser(User user); }
只写了合同,干活的对象由 MyBatis 运行时自动造。(demo1 的 UserService 是普通类;公司项目常见 UserService 接口 + UserServiceImpl)
| 题 | 我答 | 结果 |
|---|---|---|
| Bird implements Flyable 但没写 fly | 不行,没定义方法 | ✅ |
| 鼠标、鼠标、手机 三次 plugIn 打印几行 | 六行? | ❌ 3 行:每次跳进去做完就结束 |
| 手机、鼠标 两次 | 两行,手机、鼠标 | ✅ |