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!
JAVA运行内部类的main方法的更多相关文章
- 解决Java接口内部类的main()方法无法打印输出的问题
问题源自<Thinking in Java>关于内部类的章节,例子如下: public interface ClassInInterface{ void howdy(); public c ...
- Java程序入口:main()方法讲解
Java程序的入口---main()方法的签名为:public static void main(String[] args) {...} ,其中, ♦ public修饰符:Java类由JVM调用,为 ...
- java语言规范,main方法必须声明为public
注释: 根据java语言规范,main方法必须声明为public. 当main方法不是public时,有些版本的java解释器也可以执行java应用程序.有个程序员报告了这个bug. 如果感兴趣可以查 ...
- 第4篇-JVM终于开始调用Java主类的main()方法啦
在前一篇 第3篇-CallStub新栈帧的创建 中我们介绍了generate_call_stub()函数的部分实现,完成了向CallStub栈帧中压入参数的操作,此时的状态如下图所示. 继续看gene ...
- 第29篇-调用Java主类的main()方法
在第1篇中大概介绍过Java中主类方法main()的调用过程,这一篇介绍的详细一点,大概的调用过程如下图所示. 其中浅红色的函数由主线程执行,而另外的浅绿色部分由另外一个线程执行,这个线程最终也会负责 ...
- [Java] JVM 在执行 main 方法前的行为
JVM 执行一个 Java 程序时,先从某个指定的 Java 类的 main 方法开始执行代码,同时,传一个字符串数组作为 main 方法的参数.例如在 Unix 系统上,执行下面的命令 java T ...
- 简述java程序中的main方法
简述main方法: 在java语言程序编写时都会涉及到一个main方法,它的格式为: public static void main(String[] args)(一般必须这么定义,这是java规范) ...
- jmeter 的java请求代码在main方法里面执行
1.新建一个java请求执行加法类 public class TestDemo { public int Tdemo(int a,int b){ int sum = 0; sum = a+b; ret ...
- java 主类的main方法调用其他方法
方法1:A a=new test().new A(); 内部类对象通过外部类的实例对象调用其内部类构造方法产生,如下: public class test{ class A{ void fA(){ S ...
随机推荐
- SpringCloud微服务小白入门之Eureka注册中心和服务中心搭建示例
一.注册中心配置文件 代码复制区域: spring: application: name: spring-cloud-server server: port: 7000 eureka: instanc ...
- net core Webapi基础工程搭建(四)——日志功能log4net
目录 前言 log4net 依然是,NuGet引用第三方类库 整合LogUtil 小结 前言 一个完整的项目工程离不开日志文件的记录,而记录文件的方法也有很多,可以自己通过Stream去实现文件的读写 ...
- Python --深入浅出Apriori关联分析算法(二) Apriori关联规则实战
上一篇我们讲了关联分析的几个概念,支持度,置信度,提升度.以及如何利用Apriori算法高效地根据物品的支持度找出所有物品的频繁项集. Python --深入浅出Apriori关联分析算法(一) 这次 ...
- Hadoop RPC机制详解
网络通信模块是分布式系统中最底层的模块,他直接支撑了上层分布式环境下复杂的进程间通信逻辑,是所有分布式系统的基础.远程过程调用(RPC)是一种常用的分布式网络通信协议,他允许运行于一台计算机的程序调用 ...
- spring boot整合mybatis框架及增删改查(jsp视图)
工具:idea.SQLyog 版本:springboot1.5.9版本.mysql5.1.62 第一步:新建项目 第二步:整合依赖(pom.xml) <dependencies> < ...
- CodeForces 909F
题意略. 思路: 第一问: 递归地来写,找对称,发现关于(1<<y) - 1和(1<<y)对称的数字做 & 结果为0. 第二问: 6,7特殊考虑.循环左移(1<& ...
- Leetcode Weekly Contest 152
退役老人现在连leetcode都不会做了 = = 今天早上做了leetcode第三题题目看错了,加上比赛中间还在调投稿的实验,一心二用直接gg 总结下教训就是 本渣现在做题连题目都看不清就开始做.开始 ...
- C++ switch注意事项(陷阱)
话不多说,直接上代码 int a; printf("请输入一个整数:"); scanf("%d", &a); switch (a) { : printf ...
- Delphi - cxGrid内容xlsx、xls、csv格式导出
.xls格式导出,uses中添加cxGridExportLink 代码如下: function SaveToExcel(gridMain: TcxGrid; FileName: string): st ...
- [工具使用]-利用latex管理创建自己的ACM模板
从很早入坑ACM开始,便和各种算法的模板打着交道,虽然kaungbin的模板已经足够强大,但是自己在平常做题中也逐渐有着自己的一些模板,也有一些kuangbin模板中没有的更快的板子,虽然不确定时候以 ...