假设我有一个类Foo.java和一个类Bar.java。它们属于同一个包装。
Say Foo.java看起来像这样:
public class Foo {
public Foo () {
//insert awt graphics shape here
}
}
Bar.java看起来像这样:
public class Bar {
public Bar () {
//filler
}
}
对于Bar.java,有没有办法访问在Foo.java中创建的形状?
答案 0 :(得分:0)
如果元素/函数是静态的:
public class foo {
static int fooElement = 0;
static void bar () {
//insert awt graphics shape here
}
static void accessBarElementNFunction() {
bar.barElement = 1;
bar.foo();
}
}
public class bar {
static int barElement = 0;
static void foo () {
//filler
}
static void accessFooElementNFunction() {
foo.fooElement = 1;
foo.bar();
}
}
否则,您需要创建和管理类实例。
答案 1 :(得分:0)
你的问题的答案是肯定的,你可以。你可能可以通过组合来实现这一点。例如:
public class Foo {
private Bar bar = new Bar();
public Foo () {
this.bar.getSomeVal();
}
}
public class Bar {
private int someVal;
public Bar () {
this.someVal = 10;
}
public int getSomeVal() { // this is just an example method.
return this.someVal;
}
}
如上所示,Foo类包含Bar类的实例。使用该实例,我可以在Foo的构造函数中访问Bar类的成员。
您可以通过拥有Foo类的实例在Bar类中遵循相同的方法。
您还可以选择使用静态方法,例如:
public class Foo {
public Foo () {
System.out.println(Bar.getSomeVal());
}
}
public class Bar {
private static int someVal;
public Bar () {
}
public stating int getSomeVal() { // this is just an example static method.
return Bar.someVal;
}
}