【问题标题】:Java - Go To Non-Static Void From Static Void? [closed]Java - 从静态 Void 转到非静态 Void? [关闭]
【发布时间】:2016-07-03 02:22:08
【问题描述】:

由于我的代码并没有太大帮助,除非有人需要查看,否则我不会显示任何内容。

但我会举一个我想做的例子。

示例:“Class1.java”

class Class1 {

    int num = 3 + 2;

    public static void Main(String[] args) {
        Class2.Main2();
    }
}

示例:“Class2.java”

class Class2 {

    public void Main2() {
        System.out.println(Class1.num);    // Would return as an error, as you cannot access static objects from non-static objects/methods.
    }
}

有人知道如何允许从一种静态方法转到另一种非静态方法,反之亦然?

谢谢。

【问题讨论】:

  • 这是基础知识,太宽泛,无法在 SO 上处理。给自己买一本好书或一些相关的教程来学习这个。您可以从这里开始:docs.oracle.com/javase/tutorial/java/javaOO
  • 您可以从非静态访问静态,反之亦然,而且有充分的理由。
  • Main(String[] args)方法中也会出现错误...

标签: java class methods static


【解决方案1】:

你好,在我回答你的问题之前,我想告诉你需要学习java OPP(面向对象编程)

我不知道你为什么要从class2调用一个实例然后再从class1调用它,反正这里就是答案

Class1.java

class Class1 {
    int num = 3 + 2;

    public static void main(String[] args) {
        Class2 obj = new Class2(); //creating an object of Class2

        obj.Main2();
    }
}

Class2.java

 class Class2 {
        public void Main2() {
            Class1 mnum = new Class1(); //creating an object of Class1
            System.out.println(mnum.num);

        }
    }

【讨论】:

  • 谢谢。不过,我并没有在我的代码中真正做到这一点。我正在开发一个操作系统,我不想解决它。只需要找出答案。
【解决方案2】:

创建一个Class2的实例,然后使用实例调用main,如

new Class2().Main2();

【讨论】:

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