java 接口方法可以有参数么

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 接口方法可以有参数么相关的知识,希望对你有一定的参考价值。

可以有参数。如果参数需要一个对象,最好抽象出一个父类或祖先类作为参数的类型,实现的时候用子类对象, 即多态。 参考技术A

可以的。接口说到底也是类,接口的方法也是方法。例如下面的一段代码是我某个练习中写的一个接口,其中gun这个方法就要求传进来一个Robot类型的参数,而且这个Robot类型还是我定义的一个类。

public interface Arms 
    public void gun(Robot r);
    public void sword();

参考技术B 可以有参数,接口只是一个特殊的抽象类。说到底还是个类 参考技术C 当然是可以的。

Python有设计模式么

参考技术A 单例模式:Python 的单例模式最好不要借助类(在 Java 中借助类是因为 Java 所有代码都要写在类中),而是通过一个模块来实现。一个模块的模块内全局变量、模块内全局函数,组合起来就是一个单例对象了。
模板方法模式:这个可以像其他语言一样实现,但是如果要遵循鸭子类型原则的话,应该删除公有的抽象父类(或接口),从而追求灵活性。
工厂方法模式、多例模式:这个也不用借助类,直接写一个全局函数作为工厂函数即可。因为 Python 中实例化是通过 call 类来完成的,现在改成 call 工厂函数,对客户抠码者是透明的。(从这点我表示理解 Python 没有 new 操作符的好处了,使用通用的 call 定义,正交性极强)
装饰器模式、代理模式:这个接触过 Python 就不会不知道了,Python 内置的 decorator 语法如此著名。装饰器模式和代理模式都可以通过这种方式完成。另外一种是对对象的装饰或代理,这个也不需要按照契约编程的风格,让代理对象实现被代理对象的抽象。一切动态代理,只需要通过重载属性访问操作符,神马都简单了(和 PHP 通过 __get、__set、__call 来实现动态代理很类似)。
原型模式:这个在 Python 中实现的不是那么爽快,需要调用 copy 来克隆原型对象。但是其实有另一种实现方式:之所以使用原型模式,是因为对象初始化需要较大开销。我们只需要保存初始化的结果,并在产生新对象的时候赋予新对象即可。所以,通过元类控制对象被创建的过程,来实现原型模式,也是一种选择。

以上是关于java 接口方法可以有参数么的主要内容,如果未能解决你的问题,请参考以下文章

java调用第三方接口

别人写了一个用SHA1加密的接口,请问我怎么调用它啊?

java中接口可以实现多个接口吗

java基础技能中强调程序代码的读写能力如果一个类很长你会怎样读写

java如何调用BO实例?

java中静态变量和静态方法的优缺点