我对java如何处理所有类都感到困惑。
我创建了一个课程foo.java
,并在main
foo.java
方法foo
中创建了bar
的实例(一个创建的类对我来说没有任何意义,但似乎在java中是否正常?)
然后我创建了另一个类foo
的实例,所以我现在在bar
类中有foo
和foo
的实例,但是如何访问成员变量foo
中的函数是否为bar?
bar
是处理代码,foo
是ui,需要查看{{1}}中的所有数据,以便显示它。
答案 0 :(得分:3)
有很多可能性。一种是使用foo
实例构建bar
:
public class Foo {
public void someFooMethod() {
}
public static void main(String[] args) {
Foo foo = new Foo();
Bar bar = new Bar(foo);
bar.someBarMethod();
}
}
public class Bar {
private Foo fooLocalRefence;
public Bar(Foo foo) {
this.fooLocalReference = foo;
}
public someBarMethod() {
this.fooLocalReference.someFooMethod();
}
}
答案 1 :(得分:1)
你错了“一个创建自我的类对我来说没有意义,但在java中似乎很正常”,因为你的术语是错误的。您实际执行的操作是创建类Foo
的实例。 main()
仅仅是应用程序的入口点,因为JVM只需要知道从哪里开始。
如果您希望两个不同类的实例共享信息,则需要为其中一个提供另一个类的引用。像这样:
Foo foo = new Foo();
Bar bar = new Bar(foo);
答案 2 :(得分:0)
我建议您查看oracle网站上的Java教程 - > http://download.oracle.com/javase/tutorial/java/index.html
遵循这些,这将使您更好地理解如何使用Java编写应用程序 - 编写您不理解的代码会在开发过程的后期导致问题......
答案 3 :(得分:0)
首先,main
的{{1}}方法可能是Foo
,因此没有static
创建Foo
的实例。
其次,Foo
应通过getter方法公开其数据,Foo
应通过调用所提供的Bar
实例上的getter方法来访问数据。