如何在其他类中使用方法而不创建新对象

huangapple go评论77阅读模式
英文:

How to use a method in other class without creating a new object

问题

我是一个正在进行Java GUI项目的Java初学者。
我在我的测试类(TEST CLASS)中创建对象,并在CLASSA中编写我的设置(set)和获取(get)函数。
我想在CLASSB中使用这些设置(set)和获取(get)函数,但我只能通过在CLASSB中创建新对象来使用这些函数。这将覆盖在CLASSA中存储的我的数据,以至于我在CLASSB中什么都获取不到。
因为CLASSB已经扩展了JFrame,所以我无法使用继承(extends)。

英文:

I'm a Java beginner working on a Java GUI project.
I create my object in my TEST CLASS and write my set get function in CLASSA.
I want to use the set get function in CLASSB, but I can only use the function by creating a new object in CLASSB. It will cover my data stored in CLASSA, that I can't get anything in CLASSB.

I can't use extends because CLASSB has already extends JFrame.

答案1

得分: 1

如果你将ClassA标记为静态,就可以在ClassB中调用ClassA.MyFuntion(),而无需创建新对象。

英文:

If you mark ClassA as static, you can call ClassA.MyFuntion() in ClassB without having to create a new object.

答案2

得分: 0

我相信你所需的是在 CLASSB 中创建一个 类(class) 的方法,而不是 实例(instance) 的方法。

这可以通过在创建方法时使用 static 关键字来实现。

public static void myMethod() {
  // 这里是逻辑
}

你可以查看这篇文章,以获得更好的理解。

英文:

I believe what you need is to create a method of class in CLASSB, rather than of instance.

This is achieved by using the static keyword when creating the method.

public static void myMethod() {
  // logic here
}

You can take a look at this article, for better understanding.

答案3

得分: 0

将函数修改为public static函数,然后您可以使用[类名].[函数名](值)来调用它。

以下是示例。类TestA定义了一个函数,在TestB中调用该函数。

package test;

public class TestA {
    public static void square(int x) {
        int y = x * x;
        System.out.print(y);
    }
}

package test;

public class TestB {
    public static void main(String[] args) {
        int x = 2;
        TestA.square(x);
    }
}
英文:

Make the function a public static function and you can call it using [classname].[function](value)

heres an example. class TestA defines the function which is called in TestB

package test;

public class TestA {
	public static void square(int x) {
		int y=x*x;
		System.out.print(y);
	}
}

package test;

public class TestB {
	public static void main(String[] args) {
		int x = 2;
		TestA.square(x);
	}
}

huangapple
  • 本文由 发表于 2020年10月17日 02:07:04
  • 转载请务必保留本文链接:https://go.coder-hub.com/64394276.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定