大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 其他相关 -> Java FAQ(2)

Java FAQ(2)

时间: 2021-07-31 作者:daque

二、吩咐篇q2.1  我写了第一个java步调,该当怎样编写翻译/运转?答:开始请将步调生存为xxx.java文献,提防你大概须要窜改文献后缀名。而后在dos窗口下运用javac xxx.java吩咐,你会创造该目次下多了一个xxx.class文献,再运用java xxx吩咐,你的java步调就发端运转了。q2.2  我照你说的做了,然而展示什么“'javac' 不是里面或外部吩咐,也不是可运转的步调或批处置文献。”。答:你遇到了path题目。操纵体例在确定的范畴(path)内探求javac.exe,然而没能找到。请编纂你的操纵体例情况变量,新增一个java_home变量,设为你jdk的安置目次,再编纂path变量,加上一项 %java_home%\bin。而后生存并新开一个dos窗口,你就不妨运用javac和java吩咐了。q2.3  情况变量如何树立?答:请向身边会设的人接洽。q2.4  我在javac xxx.java的功夫表露什么“unreported exception java.io.ioexception;”。

答:拜见q4.8以领会java中的特殊体制。q2.5  javac xxx.java成功经过了,然而java xxx的功夫表露什么“noclassdeffounderror”。

答:1. 你遇到了classpath题目。java吩咐在确定的范畴(classpath)内探求你径直或转弯抹角运用的class文献,然而未能找到。开始请确认你没有错敲成java xxx.class,其次,查看你的classpath情况变量,本来你并不须要树立该变量,但即使你树立了该变量又没有包括.(代办暂时目次)的项,你就会遇到这个题目。请在你的classpath情况变量中介入一项. 或简洁删掉这个变量。2. 即使你运用了并非jdk自带的规范包,比方javax.servlet.*包,也会遇到这个题目,请将相映的jar文献介入classpath。

3. 即使你在java源文献中设置了package,请拜见q2.11。q2.6  我在java xxx的功夫表露“exception in thread "main" java.lang.nosuchmethoderror: main”。

答:开始,在你的步调中每个java文献有且只能有一个public类,这个类的类名必需和文献名的巨细写实足一律。其次,在你要运转的类中有且只能有一个public static void main(string[] args)本领,这个本领即是你的主步调。q2.7  在java xxx的功夫表露“exception in thread "main" java.lang.nullpointerexception”。

答:在步调中你试图在值为null的东西变量上挪用本领,请查看你的步调保证你的东西被适合的初始化。拜见q4.8以领会java中的特殊体制。q2.8 package是什么道理?如何用?

答:为了独一标识每个类并分批,java运用了package的观念。每个类都有一个全名,比方string的全名是java.lang.string,个中java.lang是包名,string是短名。依照java定名常规,包名是十足小写的,而类名的第一个假名是小写的。如许,即使你自行设置了同样名字的类string,你不妨把它放在mypackage中,经过运用全名mypackage.string和java.lang.string来辨别这两个类。同声,将论理上关系的类放在同一个包中,不妨使步调构造更为领会。为了设置包,你要做的即是在java文献发端加一条龙“package mypackage;”。提防包没有嵌套或包括联系,mypackage包和mypackage.mysubpackage包对jre来说是并列的两个包(固然开拓者大概表示包括联系)。q2.9 我没有证明任何package会如何样?

答:你的类被觉得放在默许包中。这时候全名和短名是普遍的。q2.10 在一个类中如何运用其余类?

答:即使你运用java.lang包大概默许包中的类,不必做任何事。即使你的类坐落mypackage包中,而且要挪用同一包中的其余类,也不必做任何事。即使你运用其余包中的类,在package证明之后,类证明之前运用import otherpackage1.class1; 或 import otherpackage2.*;  这边.*表白引入这个包中的一切类。而后在步调中你不妨运用其余类的短名。即使短名间有重名辩论,必需运用全名来辨别。提防在运用其余包中的类时,你只能运用public的类和接口,拜见q5.4。q2.11 我用了package的功夫表露"noclassdeffounderror",然而我把一切package去掉的功夫能平常运转。

答:将你的java文献按包名构造寄存。比方你的处事目次是/work,你的类是package1.class1,那么将它寄存为/work/package1/class1.java。即使没有证明包,那么径直放在/work下。在/work下实行javac package1/class1.java,再实行java package1.class1,你会创造十足平常。其余,即使你的类的个数仍旧多到了你须要运用包来构造的话,你不妨商量发端运用ide。q2.12 我想把java编写翻译成exe文献,该如何做?

答:jdk只能将java源文献编写翻译为class文献。class文献是一种跨平台的字节码,必需依附平台关系的jre来运转。java以此来实行跨平台性。有些开拓东西不妨将java文献编写翻译为exe文献。作家阻碍这种做法,由于如许就废除了跨平台性。即使你坚信你的软硬件只在windows平台上运转,你不妨商量运用c++/c#来编制程序。q2.13 我在编写翻译的功夫遇到什么"deprecated api",是什么道理?

答:所谓deprecated是指已过程时,然而为了向前兼容起见仍旧保持的本领。那些本领大概会在此后废除扶助。你该当改用较新的本领。在api内里会证明你该当用什么本领来包办之。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.