00:00
那接着来我们来看下一个知识点,这个呢叫更简化的编译运行程序,诶这个呢是前面九根十没有提到过的,这是11里边加的啊呃,什么意思呢?咱们第一天讲Java的时候,诶写了一个hello word说Java呢分成两个过程,首先呢叫编译,诶Java c编译这个文件,编译完以后会生成对应的自解码文件,然后再通过运行的过程,我们Java去运行一个自解码文件,你所对应的这个类,哎,我们这有两个过程啊,这个测试中咱们都是这样讲的,Java本身呢,就是先编译以后运行,跟这些解释型语言不一样啊,直接呢就可以执行的,这个不同啊,那我们在这个11里边呢,推出来了一个新的东西,这个呢很好玩啊,我们直接可以通过Java呢去啊执行一个表文件。这个在原来是错误的写法。啊,如果你要第一天这样去写,那肯定是要被批评的啊,你这样写的话,显然是少个C嘛,对吧,你其实编译那要不呢,就是你这块多一个点差吧。
01:08
啊,就是你你你可能是前边错了,也可能后边错了,但是目前的这个做法就是对的啊那什么意思,你看啊,嗯,我发的这个课件里边,课件里边呢,我这写了一个叫hello Java啊打开。这呢就一个Java文件啊,简单看一下,这呢是一个hello Java,一个没方法,一个输出语句,这呢定义了一个对象,这个呢,就像不定义呢也没事啊,这你先注释一下吧啊,然后下边呢,定义的两个类啊就这样个情况,那这个程序我们要想去执行,那肯定是先编译后运行,这个所有人呢都会啊,这要不会就得从第一天从头学了得是吧?哎,CMD一下。哎,在咱们当前那个目录下,针对于hello Java,那咱们以前呢,都是Java c hello java.java。诶,先编译啊,生成的相应的自建码文件,然后呢,我们知道hello Java里边有没方法,接着呢就Java hello Java回车,哎,这就出来里边呢,它这个输出语句了,这是咱们原来的这种操作啊,然后现在的话呢,说边运行可以合成一个指令直接Java,然后hello Java点扎va,这时候你要小心一点啊,现在我运行可能会出问题。
02:23
哎,确实出问题了,这个大家注意一下,你把我们因为这时候这不都可以一起执行了吗,你把生成这个自解码文件都删掉啊。诶不要让它保留着这个呢,是因为我这个我一修改它这块就会存在一个文件是吧,这个其实没有任何关系啊,这个有点碍眼,我就也给他删了,然后呢,诶我们这块呢,你重新的再去执行刚才这个指令,知道va后边呢是原文件回车。竟然出来了。啊,就相当于我们直接把这个编译运行的这个指令呢,就合成一个了,啊就是这样的一个情况,有点像一个解释型语言一个特点了啊嗯,其实就是一个比较好玩的一个功能而已,嗯,也没啥别的了,其实是吧,那么要想这样能够执行成功,实际上有一些细节的要求,这个要求呢,是我在PPT里边下边写了,大家看说呢,你要是执行这个原文件啊的话啊,这个原文件当中呢,有可能有好多个类,它只会呢执行第一个类,那原IG呢,你第一个类呢,里边必须要有没方法了,那否则就执行不了了。
03:30
这就是一些额外的要求啊,你看着跑着挺好,其实这里边呢,有很多坑啊,很多坑什么意思,比如说啊,哎,刚才提到说我们这儿呢,我确实里边放了多个类,哎,刚才我们使用的这种方式,它只会执行第一个类当中的酶方法,那比如说我这写了个MAY1,相当于我这块就没有酶方法,说没有酶方法,它会被自动找到下边类中的酶方法呀,我下边还给你放了一个倍。好,我这呢保存一下,然后接下来我们再重新的去执行回车。
04:01
啊,找不到说hello JA话中找不到没方法,是不是就识别第一个了,哎,就这种情况啊,哎,那你得有这个没方法,那如果我们把这个类和CTRLX放到第一个位置。虽然说你这个类呢,是一个主类啊,Public的跟文件名还一样,我这个类呢是一个呃,跟文件名不一样,普通的一个默认权限的一个类,但是我有没方法。那我就好使保存一下。你看这时候出来叫台2ME,这就成它了。哎,就是谁放到第一个我就执行谁,那你这个第一个的话呢,就得用没方法,哎就这个点啊行CTRLX咱把它的再放回来啊,然后接下来还有第二个问题,说我们这个文件里边呢,有好几个类,我们在第一个这个主类里边,我可以呢去诶用一个teacher,相当于我们此时呢,就用了当前这个原文件当中其他的类了。这是允许的,哎,我把它打开了,哎,我就不去输出一下也可以是吧s out。
05:07
哎,输出一下我们这个T,那就打个地址值呗,行,这个时候呢,我们再去执行。没问题啊,输出的就是你这个对象的这个地址上面这个输出了,这是一个正确的情况,也就是说呢,我们可以在这个当前这个第一个这个类当中啊,去调用其他的这几个类是OK的,但是你不可以调用其他文件当中的类,咱们在当前这个结构当中,我这又新造了一个原文件,这个原文件中一个类呢,叫student啊,学生啊,这是一个类,这个在我们文件目录下边呢,大家就不用上面去写包了啊。啊,不用去写包了,那么我们这里边这个student类啊,咱们在这个hello Java里边呢,我想用一下,哎,正常来讲呢,是可以这样用的啊。哎,正常来讲是可以这样用的,就是我们原来你Java c先编译再运行,这呢是正确的,但是现在的话呢就不行。
06:02
你看我们去执行啊,这个我保存一下啊。你看这时候呢,就报错了,说找不到符号,就相当于它识别不出来这个student,嗯,原因呢,就在于我们,呃,当前的这种写法呢,它只能够使用当前原文件当中生命的类,不可以使用其他文件中的类。所以这块呢,其实你就玩一玩就得了是吧,哎,就这样一个新特性哈,哎,你把它这个注释一下。嗯,通过咱们刚才这个说明呢,就把这个,哎把这里边的这个点啊,哎说了就更简化的一个编译运行程序,哎就过了啊呃,当然一般情况下呢,你嗯你就不掉其他的这个类,你直接就自己呢,呃文件里边写了一些逻辑,自己就测啊像这个时候呢,你直接呢,就省着javac Java了,直接呢上来直接Java这个文件就可以了,那其实言IG呢,它又默认执行第一个相当于你这个文件中就写一个类别。
07:00
我就写一个类,然后我这个里边呢,我就写个没方法,下边呢就我要执行的逻辑直接呢,就诶使用刚才的指令执行就可以了。哎,不要整那么多的花样了,就啊行。
我来说两句