JAVA运行内部类的main方法

运行内部类的main方法

定义两个线程:

一个线程的名字“thread1”,线程功能输出1~10的阶乘。

另一个线程的名字“thread2”,线程功能输出线程的名字10次。

public class T1 extends Thread {
public T1(String s) {super(s);}
public void run() {
int sum=1;
for(int i=1;i<=10;i++) {
sum=sum*i;
System.out.println(sum);
}
}
}
class T2 extends Thread {

public T2(String s) {super(s);}

public void run() {

for(int i=0;i<19;i++) {

System.out.println(getName());

}

}

public static void main(String args[]) {

T1 t1=new T1("thread1");

T2 t2=new T2("thread2");

t1.start();

t2.start();

}
}  

第一眼看到这个,我也有点蒙,按道理来说,用public修饰的不应该是主类吗?但是main方法却放在了内部类中?一时难以理解,直接放入myeclipse运行一下,果然报错了:

报错信息大致也是我上面分析的意思,找不到main方法,百度找了很多也没有找到原因,转念一想,也可能是myeclipse运行机制的问题,于是转变思路,直接用命令行!
首先在创建.java文件,名字一定要和主类名一样!这里是T1.java,然后编译生成.class文件

居然生成了两个.class文件,瞬间感觉对java一点都不了解,之前一直用myeclipse简直就是个错误(符合真香定律),接下来直接运行T2.class就可以了(T2是内部类)

运行成功!OVER!

猜你喜欢

转载自www.cnblogs.com/zqm-sau/p/10331824.html