日期:2014-05-20  浏览次数:20969 次

问3个你可能会认为是死脑筋的问题,但是这就是知识点!!
问题1,2:
Java code
class Test{
    public static void main(String[] args){
        Integer[] a = {1, 2, 3,};  //问题1:这里最后一个逗号(3[color=#FF0000],[/color]),据说有没有这个逗号,会有很大的不同,请问是什么不同?
        for(Integer b : a){   //问题2: 上面这的代码是关于数组的初始化的,那么如果Integer[] a = {[color=#FF0000]new Integer(1)[/color], 2, 3,};这两者真的一点区别也没有吗?
            System.out.println(b + "");
        }
    }
}


问题3:
Java code
public class Test1{
    public static void main(String[] args){
        Other.main(new String[]{"str1", "str2", "str3",});
    }
}

class Other{
    public static void main(String[] args){
        for(String s : args){
            System.out.println(s + "");
        }
    }
}

这2段代码很有意思,从来没见过这么写的,可是2段代码写在一个文件里面一样可以运行,而且是有2个main方法的,不是一个文件名对应一个类名吗,这里居然出现了2个类,而且都带main方法,概念模糊了~


------解决方案--------------------
问题1,2感觉很无聊,我也没弄个明白
问题3
一个java运行单元,必须有一个public class,程序从main()开始执行
main()也是一个函数,和其他的函数没什么区别。当然可进行传递消息了。
------解决方案--------------------
问题1,2没看出什么不同
3:public的执行。
------解决方案--------------------
这里涉及到的语法有自动拆装箱,新的循环语法。
问题1:写逗号数组的长度是3,分别为1、2、3,不写逗号数组的长度是1,只有123。
问题2:Java新增语法,自动拆装箱,系统自动实现基本数据类型和数据类型类之间的转换
问题3:准确的说:一个源代码文件内部只能有一个public类,至于非public的类,则可以写任意多个。这样的源代码编译以后形成2个class文件,你执行代码的时候可以选择执行那个。
java Test1
java Other
------解决方案--------------------
是不是第一个最后的a是1,2,3,0。最后一个默认是0
第二个没弄懂使什么意思
第三个可以运行,恩,学习。刚知道还能String s : args

------解决方案--------------------
问题1不太清楚。
问题2应该是自动打包与解饱的区别。
问题3楼上已经说的很清楚了,main方法也是一个方法,当然可以调用。
------解决方案--------------------
探讨
这里涉及到的语法有自动拆装箱,新的循环语法。
问题1:写逗号数组的长度是3,分别为1、2、3,不写逗号数组的长度是1,只有123。
问题2:Java新增语法,自动拆装箱,系统自动实现基本数据类型和数据类型类之间的转换
问题3:准确的说:一个源代码文件内部只能有一个public类,至于非public的类,则可以写任意多个。这样的源代码编译以后形成2个class文件,你执行代码的时候可以选择执行那个。
java Test1
java Other

------解决方案--------------------
javap 反编译一下看看指令吧。可能在优化方面有所不同。
------解决方案--------------------
第一,那个带逗号的问题我也没搞明白,好像有没有都一样
第二,就是自动打包解包的问题,效果是一样的
第三,按顺序执行,我试了,无论是否带public,结果都是执行上面的main函数,好像是从上往下执行的,执行第一个main函数
------解决方案--------------------
没发现这几个问题
我认为第二个问题,只是给予显示的包装了,要不然由编译器来执行这一步
第三个问题就顶Mailbomb的说法了
------解决方案--------------------
有意思!