黑马程序员技术交流社区

标题: 关于public class Demo 、 class Demo 和 private Demo提问 [打印本页]

作者: 帅哥哥    时间: 2014-4-5 00:28
标题: 关于public class Demo 、 class Demo 和 private Demo提问
本帖最后由 帅哥哥 于 2014-4-5 14:04 编辑

哪位大大给细致的总结一下啊,我这儿有点儿乱。。。
重点解释一下public class Demo为什么文件名要与类名完全一致啊,那要是源文件中有几个类是public的,文件名用哪个类名啊
作者: 骑猪追大象    时间: 2014-4-5 00:47
主文档名必须和类名相同,而且该类还必须是public的,因为JVM启动就是去找public static void main(String args[]){....}  如果有多个入口你让JVM咋开始。
作者: 帅哥哥    时间: 2014-4-5 00:53
骑猪追大象 发表于 2014-4-5 00:47
主文档名必须和类名相同,而且该类还必须是public的,因为JVM启动就是去找public static void main(String  ...

可是一个源文件中有多个类的话,编译会生成多个.class文件的啊,这个文件能不能运行取决于这个.class文件有没有main函数,不是这么理解吗。。。编译和JVM没有关系的吧,运行的时候才启动JVM吧,而运行的时候运行的是.class文件。。。
作者: 骑猪追大象    时间: 2014-4-5 01:00
你想想包的原理,当产生很多class文件时是不是JVM去环境变量下去找相应文件,如果class文件中没有main入口是不能【单独】执行的,但是JVM会先找main   当用到其他类时会按照包/当前目录(path下)去找相应的对象
作者: 1453149997    时间: 2014-4-5 11:38
(1)源文件名必须和public的类名一致这是规定
(2)一个源文件中只允许有一个public的类,其它的都是默认类型(default)
(3)一个源文件中可以没有public的类,这时源文件的名称任意起,只要符合命名规范即可
作者: 黄泉    时间: 2014-4-5 13:50
java程序的本质 就是那些.class文件 .java的文件其实就是单纯的文本
jre(java虚拟机)只能加载.class文件
你在输入 java class名 这个命令的实际意义其实是调用class名的mian方法
上边说的其实不全面..这个打字说真的很费劲...更关键的是 你研究这个完全没意义 这都是死记硬背的东西 你只要记住必须这么做 研究具体的意义没意义
至于public class 和class的区别
既然学java 你应该知道java api 这个把
里边有好多的类 这些类是哪来的??? 当然是别人写的了
要调用别人写的类(或者反过来叫别人调用你写的类) 这个被调用的类必须是public的
如果不是就不能调用(或者被别人调用)
.public的方法和变量也是一个道理
作者: 帅哥哥    时间: 2014-4-5 14:03
我自己查了写资料,明白一件事儿,好多东西其实说到底就是俩字儿---“规定”。。。好吧就此结题!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2