我读了一个声明,声明" 一个方法被定义并包含在Java类中。"但是,我很好奇这个陈述是多么明确。
是否有可能在Java中创建一个不包含在类中的方法(函数)?
答案 0 :(得分:4)
直到Java-8,关于所有方法的声明"包含在Java类中#34;完全是真的。然而,随着Java-8中lambda的引入,还有一个代码可能出现的地方 - 一个lambda函数。与仍然是类的匿名类不同,lambdas是一种不同类型的代码托管实体。
Java-8增加了另一个可以出现方法的地方 - 一个接口。新的语言添加允许您指定接口内方法的默认实现。这并不意味着你可以调用它,但你当然可以在Java-8接口中托管一些可执行代码。
至于"独立"方法go,没有语言添加允许它们:所有可执行逻辑必须是其他中的容器,但不一定是类。
答案 1 :(得分:2)
http://jakarta.apache.org/bcel/index.html
还有其他选择。让你的课抽象,不要实现那个方法。制作一个界面。但是,是的,您可以为方法创建字节码,并在运行时将其绑定到类。
答案 2 :(得分:0)
不,方法是Class的函数,必须在Class中创建。
在课堂之外,他们是非法的。
答案 3 :(得分:0)
但是,我很好奇这句话是多么明确。
这是非常明确的。
不,不可能。这些方法应该在课堂上。
如果你在逻辑上思考,那么你可以发现自己在课外没有任何东西。所以从那里你可以称呼你的方法。
答案 4 :(得分:0)
不,这是不可能的。因为Java始终是面向对象的,所以无论何时运行程序,它都会在类内部运行,以便更容易地创建和集成对象。但是,有一些面向对象的语言,您可以在其中创建PHP之类的方法。使用PHP,这是因为它从来不是面向对象的,而是被改变为以对象方式运行。