A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 申绪胜 黑马帝   /  2011-11-22 14:09  /  2411 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 申绪胜 于 2011-11-23 17:11 编辑

试问,我可不可以把主函数的main()方法里传的参数不是String类型的?

比如public static void main(int[] in)或者是public static void main(HashSet[] hash)

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1

查看全部评分

7 个回复

正序浏览
moonlight 黑马帝 2011-11-23 08:28:29
8#
不行的,public static void main(String[] args),这条语句唯一能改掉的是args这个参数,其他的都不能改,否则虚拟机会不识别的。
回复 使用道具 举报
张冬冬 黑马帝 2011-11-23 01:01:17
7#
本帖最后由 张冬冬 于 2011-11-23 01:01 编辑

答案肯定是不行的!

每一个程序都是从一个叫 public static void main(String[] args)  这样的语句开始执行的,这句话中只有args这个参数名字可以随便改

其余的任何一个单词都不能变包括大小写,变了的话程序找不到这句话,就找不到运行的入口,所以就没办法执行程序了。
回复 使用道具 举报
崔浩 发表于 2011-11-22 14:29
主函数是不可以的,
但是可以可以重载这个主函数的,
如果你要执行你的函数,jvm只认识public static void  ...

跟你想的一样 ,英雄所见略同  
回复 使用道具 举报
当然不行,main 的参数接受了一些程序运行时传进来的参数,如果不是肯定会出问题的,而且运行java程序,JVM会自动去寻找main入口。
回复 使用道具 举报
其实很简单 你就当它是约定俗成的就行
回复 使用道具 举报
不能。首先,string[] args是运行传入的参数是args是String类型的数组,是main方法的参数,但是这个参数是运行时从命令行传入的参数
public class test
{
public static void main (String args[])
{
  System.out.println(args[0]);
                   System.out.println(args[1]);
}
}
编译
javac test.java
运行
java test 1 2
程序输出
1
2
由于命令行参数,输入的数据都当String处理,没有别数据类型。所以只能是String[] args而不能是Int[] args。

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
崔浩 黑马帝 2011-11-22 14:29:34
沙发
主函数是不可以的,
但是可以可以重载这个主函数的,
如果你要执行你的函数,jvm只认识public static void main(String[] int)参数类型为String的,参数名字可以改变的

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马