把接口看作是电脑上的USB接口,USB接口里有一种方法定义了一种规范,外部的usb设备比如usb鼠标,usb风扇在这个规范下具体实现了鼠标和扇风的功能,这样,人类可以使用usb这一种东西来调用usb接口外部的不同功能,需要改动的时候,只需要把能够实现所需要的功能的usb设备的线接到usb接口上就行了,而不用去做大量改动。
这么理解有什么偏差吗?求指教
理解是没问题的,java接口的目的就是抽象与定义规范。
例如定义一个接口,包含一个run方法,那么所有实现这个接口的类,例如鸭子类、山羊类等具体类型,都可以实现不同的run方法,
而更上层业务逻辑,就不需要知道某个动物的对象到底是鸭子还是山羊,直接调用该对象的run方法即可。
你可以有不同的理解,这没有任何问题。
当然,我觉得更接近编程思维的理解是,接口是一种用来代替真实类型的类型,它表示一种具有某些特定方法的类型的等价物。
Java是一种强类型的编程语言,我们不希望作为参数、变量或者别的存在的类型固定为某一具体的类型,仅仅我们关心它有什么方法,那么我们就使用接口。
理解基本上是可以的,但你想很简单化,可以这样比喻,假设你有一个瓶子,但是你没盖子,这时你按照你的瓶口的数据给瓶盖制造商,他按照你的数据给你造好了盖子,然后让你快乐的给你瓶子封口了!接口你可以比喻为那个瓶口,瓶口就那么大,你制造商只能制造出和我匹配的盖子,不然无法使用!你也可以理解这故事是一个简单借口的使用!
说白了,就是通过接口,来定义需要实现的方法。
接口就像一个没有完成的产品;假设有两个产品线也就是类需要某个成型的产品必须需要那个接口里的没有完成的产品的话,那么这两个产品线就需要拿到
接口里没有完成的产品然后根据自己产品线的需要再修改成自己的产品。