前言
作为一个正经博主,我会用最纯洁易懂的方式让你理解面向接口编程。
阅读本篇文章,你需要对以下知识有所了解:
- 面向对象编程基础知识
- 接口(这儿有)
实例
废话少说。打开你的 IDE(没有?去下!),新建一个类,命名为 Main
,复制下方代码:
interface 动作 {
void 结婚();
void 生孩子();
}
class 如花 implements 动作 {
@Override
public void 结婚() {
System.out.println("为什么?");
}
@Override
public void 生孩子() {
System.out.println("凭什么?");
}
}
class 美女 implements 动作 {
@Override
public void 结婚() {
System.out.println("就现在!");
}
@Override
public void 生孩子() {
System.out.println("就今晚!");
}
}
class 帅气的我 {
private 动作 小姐姐;
public 动作 我女朋友是谁() {
return 小姐姐;
}
public void 指定女友(动作 小姐姐) {
this.小姐姐 = 小姐姐;
}
public 帅气的我() {}
public 帅气的我(动作 小姐姐) {
this.小姐姐 = 小姐姐;
}
public void 我要结婚(){
this.小姐姐.结婚();
}
public void 我要生孩子(){
this.小姐姐.生孩子();
}
}
public class Main {
public static void main(String[] args) {
帅气的我 欧巴 = new 帅气的我();
动作 如花本人 = new 如花();
动作 美女本人 = new 美女();
欧巴.指定女友(如花本人);
欧巴.我要结婚();
欧巴.指定女友(美女本人);
欧巴.我要生孩子();
}
}
别急着运行!多看两遍,猜猜运行结果会是什么?
解析
结构不难,让我们来捋一捋。
接口 | 接口功能 | 接口继承 | 实现功能 | 实现方法 |
---|---|---|---|---|
动作 | 结婚 | 如花 | System.out.println("为什么?"); |
new 如花().结婚(); |
--- | --- | 美女 | System.out.println("就现在!"); |
new 美女().结婚(); |
动作 | 生孩子 | 如花 | System.out.println("凭什么?"); |
new 如花().生孩子(); |
--- | --- | 美女 | System.out.println("就今晚!"); |
new 美女().生孩子(); |
而 帅气的我
是包装类,可以 指定new出的女友实例
,并对该女友通过 帅气的我
执行指定的方法。
后语
我们可以将面向接口的编程步骤做个整理:
动作
接口规定了可以对女生做的“动作”;美女
和如花
类继承了动作
类,并规定了对动作产生的反应(执行的方法);帅气的我
可以接收实例化(new)后的女友对象,并对其使用结婚
和生孩子
两种方法。
祝大家早日脱单!
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于