主类的一个内部类怎样才能引用主类以外的类??
解决方案 »
- 异常处理问题的困惑
- 跪求一个发送邮件的源码
- 帮忙看下一个短程序,谢谢
- java随机取数字?
- 请问如何判断一个时间是否大于另一个时间14天?
- System类怎么包含?
- java程序中不能显示中文怎么办?以及汉化问题
- 请问如何在JTextPane中禁止使用Ctrl+v,Ctrl+x,Ctrl+c?
- 听说用jet这个东东可以将Application转换成.exe可执行文件是吗?在那里有下载?
- idltojava问题
- [菜鸟求助]Java应用程序的JFrame窗体如何让jTextArea透明并显示背景图层(设计视图)
- JTextField中鼠标拖动选择字符时会触发KeyListener事件?代码如下,求解决
2 public InnerClass getInnerClass() {
3 return new InnerClass();
4 }
5
6 public class InnerClass {
7 public String name = "name";
8
9 public String getName() {
10 return name;
11 }
12
13 public void setName(String name) {
14 this.name = name;
15 }
16 }
17 } 1 public class CheckClass {
2 public static void main(String[] args) {
3 MainClass mainClass = new MainClass();
4 System.out.println(mainClass.getInnerClass().getName());
5 }
6 }\
这样就调用了主类之外的类了
package c ;
public class C {
public void printC(){
System.out.println("**C**") ;
}
}
再定义一个包含内部类的类A,含两个内部类B,D,放在package a中,并且得导入c包
package a ;
import c.* ;
//import c.C ;
public class A {
class B {
public void printB(){
System.out.println("**B**") ;
new C().printC() ;
new D().printD() ;
}
}
class D {
public void printD(){
System.out.println("**D**") ;
}
}
public void printA(){
System.out.println("**A**") ;
}
public static void main(String[] args){
new A().printA() ;
new A().new B().printB() ;
}
}
之后进行编译,运行...如下
F:\Hello World\temp>javac -d . *.java
F:\Hello World\temp>java a.A
**A**
**B**
**C**
**D**
{
class B
{
public void dosth()
{
A a = A.this;
}
} 虽然没试但是肯定可以
public void show() {
System.out.println("This is A.");
}
}public class Outer { public class Inner{
public void show(){
System.out.println("new A...");
A a = new A();
a.show();
System.out.println("This is Inner show()..");
}
}
public static void main(String[] args) {
Outer o = new Outer();
Inner i = o.new Inner();
i.show();
}
}
3 return new InnerClass();
4 } 5
这个地方出错,return不能返回对象(new InnerClass)