英文:
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);
}
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论