(白话通俗讲解)Java实现接口的类的对象赋值给接口的理解

原创博客,转载请注明出处。

相信小伙伴们都知道面向接口编程的好处,这里我不再叙述。重点是怎么理解这种困扰新手的方式。编程嘛,肯定是为了解决实际问题,如果不能很好的和生活中的事例相结合,单纯炫技把代码弄得很复杂,我是不推荐的。

废话不多说,先来看一段代码:

public interface JustInterface {

   void justMethod(Object object);
   
}

public class JustInterface Impl implements JustInterface{

   @Override
   public void justMethod(Object object) {
       // TODO Auto-generated method stub
       do something…
   }

}

// 在Main.class里可以这样声明和初始化:
public static void main( String[] args ) {

   JustInterface justInterface = new JustInterfaceImpl();
   justInterface.justMethod;

}

对于这段挺正经的面向接口编程的代码,包括我自己,也一直处于似懂非懂的状态,但是具体为什么会出现这种方式,我一定要想清楚才会安心。

接下来请允许我用一个很俗的例子来说明这种方式。

故事是这样的,双手受伤的独居宅男,想吃放在面前饭桌上的青椒炒牛肉。(别问为什么,宅男就是要吃青椒炒牛肉,也别问哪来的青椒炒牛肉,继续看就行了),我们需要一种方法,最好是人机接口,可以帮助这位宅男不用手轻松吃到青椒炒牛肉。市面上有一种机械臂,他对外提供了一个人机接口。而接口里面有一个方法,这个方法听起来很符合宅男的要求:夹起机械臂面前的物体-移动到指定坐标点-然后松开。看来只需要把这个机械臂放在饭桌上就行了。于是双手受伤的独居宅男买了一个机械臂(怎么买的,你不用知道),想通过这个机械臂来吃青椒炒牛肉。整个欢喜的过程如下:

// 在机械臂公司里的组装线是这样的:
public interface 人机接口 {
    
    void 传递物体(宅男嘴里的位置); 

} 

public class 机械臂 implements 人机接口 {

    @Override
    public void 传递物体(宅男嘴里的位置) {
        夹起机械臂面前的物体;
        移动到 宅男嘴里的位置;
        松开物体;
    }
}

// 在宅男家里:
main 函数 {
    人机接口 = new 机械臂;  //宅男准备开始使用带有人机接口的实现了传递物体方法的机械臂
    机械臂.传递物体(宅男嘴里的位置); //机械臂夹起了放在面前的青椒炒牛肉,移动到宅男嘴里的位置,然后松开了青椒炒牛肉。
}

对比一下文章开头给出的代码:

public interface JustInterface {

    void justMethod(Object object);
    
}

public class JustInterface Impl implements JustInterface{

    @Override
    public void justMethod(Object object) {
        // TODO Auto-generated method stub
        do something…
    }

}

// 在Main.class里可以这样声明和初始化:

public static void main( String[] args ) {
    JustInterface justInterface = new JustInterfaceImpl();

    justInterface.justMethod;
}

怎么样,这样的通俗事例对于理解是不是简单多了?和实际结合起来解决问题,我觉得是编程的首要核心。
至于宅男为什么不把头埋下去用嘴直接吃青椒炒牛肉呢?可能是长期玩游戏,脖子僵硬吧。

后记:宅男在机械臂的包装盒子里发现了一份迷之说明书,在说明上发现了如何设置机械臂的动作,于是邪恶的思想涌入了宅男的大脑。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容