class a
{
public static void main(String args[])
{
try{}
catch(Exception e)
{
return;
}
}
这要是个普通的成员函数还可以理解!谁能告诉我return用的主函数中是个什么意思啊?十分迷惑!!!而且主函数还是viod的!!这是怎么回事哦!
{
public static void main(String args[])
{
try{}
catch(Exception e)
{
return;
}
}
这要是个普通的成员函数还可以理解!谁能告诉我return用的主函数中是个什么意思啊?十分迷惑!!!而且主函数还是viod的!!这是怎么回事哦!
解决方案 »
- DefaultTableModel的问题,大家帮帮我。
- 关于Hibernate 中id的生成策略与一对多问T,
- 清华java课程的习题
- qq命令行登录密码加密算法求助
- 关于读取UTF8格式的XML文件的问题
- javascript的escape作用是什么,在什么地方用。后台如何处理escape的数据?好像request.getParameter方式得不到值?
- 请教在职程序员......
- JTree的expansionListener针对某节点调用一次之后无法改变此节点的children,为什么?
- 疑惑!回答给高分
- 小妹有问题请教各位大虾,很急的!!!!!关于asp页刷新的问题!!!!急!急!急!!!!
- dialog怎么样设置alt+tab的时候出现的图标
- JAVA弱弱问题
而main声明的返回类型是void,自然return后面不带返回值的.
至于这么做有什么用,看看下面代码:import java.io.*;
import java.util.*;public class Test {
public static void main(String args[]) {
Thread t = new Thread(new Runnable() {
public void run() {
Scanner sc = new Scanner(System.in);
System.out.println("input something:");
System.out.println(sc.nextLine());
}
});
t.start();
try {
FileReader fr = new FileReader("111.txt");
} catch (Exception e) {
return;
//System.exit(0);
}
}
}楼主可以比较一下用return和System.exit(0)的区别~
{
public static void main(String args[])
{
return;
}不做任何事情
在main方法里,return 和 System.exit(0)是不是没什么区别?因为主线程执行完了,虚拟机不也是要关闭的么?
线程分为守护线程和非守护线程.像执行垃圾收集任务的线程叫守护线程,通常由虚拟机自己使用.
而main还有程序中创建的线程叫非守护线程.
只要还有非守护线程在运行,虚拟机不会退出的.
直到所有非守护线程都结束或者调用System.exit(),虚拟机才关退出.
上面那个示例,用return的话,main线程结束,但是t线程还处于阻塞状态,没有结束,所以虚拟机并没有退出.
如果main()里没有创建新的线程呢?那么main()执行完不就是唯一的非守护线程执行终了么?
如果是单线程的时候,就是一个普通的函数调用。
如果要用System.exit()的话,程序可能就结束了。如果用return就是返回,下面的程序就不执行了。
仅供参考。
main返回,全部非守护结束,虚拟机退出,程序也就终止了~