【问题标题】:Does Java have regular-old functions?Java 有常规的旧函数吗?
【发布时间】:2017-11-21 23:13:17
【问题描述】:

我的意思是,Java 是否有存在于我可以声明的类之外的函数? (比如,在主课之前) 这是我可以在 C++ 和 JS 等中做的事情。

【问题讨论】:

标签: java


【解决方案1】:

静态方法

声明method to be static 使其非面向对象。它的范围超出了该类的任何实例。通过类名 Person.doSomething 而不是实例调用。

通常称为“class method”,尽管这在我看来有点用词不当。该名称暗示了它不存在的面向对象。 Java 根本没有其他地方可以存储“只是一个函数”,因此这些函数被固定在一个类上。我认为它们是孤立的代码,没有其他地方可以住。有些人认为这种安排在 Java 中是一个糟糕的设计选择,在 Java 中,明确持有非面向对象的代码会更好。

您可以将类方法视为“只是一个函数”,因为它不是对象的行为。

拉姆达

Java 8 及更高版本支持lambda expressions,您可以像传递数据一样传递一大块可执行文件。这称为functional programming,与object-oriented programming 不同。

这有点像“只是一个函数”,但它的范围包括其定义类中的元素。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 2012-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多