有3个不同的类:A,B,C现在结构如下:public class A { public A(){
B b = new B();
C c = new C();
}
...
}class B {
...
}class C {
...
}我能不能实现C类中的函数调用B类和A类中的非static数据和函数呢?举一个实际的例子,我有一个JFrame,里面包括了两个JPanel,现在其中一个JPanel需要操作另外一个JPanel中的控件,这个操作函数必须放在JFrame里吗?能不能放在自己的JPanel里呢?假如必须放在JFrame里我又如何调用JFrame里的此函数呢?如果不能调用岂不是要练相关的事件处理Listener都要放在JFrame里了?我觉得这种设计很难看啊。一个Frame里有100个Panel,难道要把他们的Listener也都挤到Frame里吗?
B b = new B();
C c = new C();
}
...
}class B {
...
}class C {
...
}我能不能实现C类中的函数调用B类和A类中的非static数据和函数呢?举一个实际的例子,我有一个JFrame,里面包括了两个JPanel,现在其中一个JPanel需要操作另外一个JPanel中的控件,这个操作函数必须放在JFrame里吗?能不能放在自己的JPanel里呢?假如必须放在JFrame里我又如何调用JFrame里的此函数呢?如果不能调用岂不是要练相关的事件处理Listener都要放在JFrame里了?我觉得这种设计很难看啊。一个Frame里有100个Panel,难道要把他们的Listener也都挤到Frame里吗?
解决方案 »
- java如何自己写事务(与数据库无关)
- Thingking In Java里一个对象构造顺序和向上转型的问题
- 如何能在SWT中实现类似百叶窗的效果呢
- java代码出现异常,空指针
- 问一个数据库问题:怎么用sql语句来更改一张数据表的名字?
- 蓄了许久的银子没了......555555....
- 用JDBC连接ORACLE的问题?
- jbuilder 6 开发的程序如何打包,如何脱离JBuilder环境运行
- 高手请进:如何用C(Windows api)实现JAVA程序入口!!! 200分!
- Lodop结合jasperreport 打印
- 候杰翻译的自变量到底是不是变量的意思?
- 打包后的类不能双击来运行?
A a = new A();
void bMethod() {
a.aMethod();
}
}
static String aString = "a static a in class A";
String bString = "a none static b in class A";
public A() {
} public static void main(String[] args) {
new A();
B b = new B();
C c = new C();
}
}class B {
public B() {
}
}class C {
A a = new A();
public C() {
System.out.println(A.aString);
//System.out.println(A.bString); //如果不注释,这里将出错,出错信息如下
/*
A.java:23: 无法从静态上下文中引用非静态 变量 bString
System.out.println(A.bString);
*/ System.out.println(a.bString);
}
}