首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java:如何使用类名直接调用方法

Java:如何使用类名直接调用方法
EN

Stack Overflow用户
提问于 2013-11-28 04:28:37
回答 3查看 13.5K关注 0票数 0

正如我所知道的,每当我们想要调用任何方法时,我们就创建对象并使用obj.methodname调用它的方法。

但是下面的程序调用E类的方法,而不创建对象。这怎么可能?请任何人帮助我理解这个概念。

我的意思是‘从下面的代码,这是怎么可能写E.test2();?,我认为应该是E obj=new E(); obj.test2();

代码语言:javascript
复制
    class E
{
    int i;
    static int j;

    void test1()
    {
        System.out.println("From test1");
    }
    static void test2()
    {
        System.out.println("From test2");
    }
}

class F extends E
{
    int m;
    static int n; 
    void test3()
    {
        System.out.println("From test3");
    }
    static void test4()
    {
        System.out.println("From test4");
    }
}

public class G {
    public static void main(String args[])
    {
        E.test2();
        F.test2();
    }
}  
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-28 04:31:35

方法E.test2被声明为static,这意味着您可以使用该方法而无需创建该类的实例。Java中使用它的类太多了。

见文档:

理解实例和类成员

票数 2
EN

Stack Overflow用户

发布于 2013-11-28 04:40:56

test2方法在E类中是静态的,静态方法不是特定于对象的,而是使用"classname.methodname“语法访问的。方法名是“类名”的静态方法。

票数 2
EN

Stack Overflow用户

发布于 2013-11-28 04:31:06

静态方法可以使用类名调用,并且不需要该类的对象。

请阅读此:http://introcs.cs.princeton.edu/java/21function/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20257721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档