JavaFAQ(新手必看),java是什么意思

java 0
JavaFAQ(新手必看)
1.什么是Java、JDK?答:Java是一种通用的,并发的,强类型的,面向对象的编程语言JDK是Sun公司分发的免费Java开发工具包,正式名称为J2SDK(Java2SoftwareDevelopKit)。
包括基本的java工具包和标准类库。

2.什么是JRE/J2RE?答:J2RE是Java2RuntimeEnvironment,即Java运行环境,有时简称JRE。
如果你只需要运行Java程序或Applet,下载并安装它即可。
如果你要自行开发Java软件,请下载JDK。
在JDK中附带有JRE。
注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行Applet,务必安装一个JRE或JDK。

3.学习Java有哪些好的参考书?答:作者首先推荐ThinkinginJava,中文名《Java编程思想》,有中文版。
该书第一章介绍了很多面向对象的编程思想,作为新手应当认真阅读。

4.Java和C++哪个更好?答:这个问题是一个很不恰当的问题。
你应该问:Java和C++哪个更适用于我的项目?Java的优点和缺点一样明显。
跨平台是Java的主要优点,但代价是运行速度的下降。
VC和Windows平台有良好的集成和足够快的速度,但是也只能局限在Windows平台上。
和C++相比,Java学起来更快,开发人员不会碰到很多容易出错的特性。
但是VB程序员甚至只需要拼装模块就可以了。

5.什么是J2SE/J2EE/J2ME?答:J2SE就是一般的Java。
J2ME是针对嵌入式设备的,比如支持Java的手机,它有自己的JRE和SDK。
J2EE是一组用于企业级程序开发的规范和类库,它使用J2SE的JRE。

6.我写了第一个Java程序,应该如何编译/运行?答:首先请将程序保存为xxx.java文件,注意你可能需要修改文件后缀名。
然后在dos窗口下使用javacxxx.java命令,你会发现该目录下多了一个xxx.class文件,再使用javaxxx命令,你的java程序就开始运行了。

7.我照你说的做了,但是出现什么“'javac'不是内部或外部命令,也不 是可运行的程序或批处理文件。
”。
答:你遇到了path问题。
操作系统在一定的范围(path)内搜索javac.exe,但是没能找到。

8.我在javacxxx.java的时候显示什么“unreportedexceptionjava.io.IOException;”。
答:了解java中的异常机制。
9.package是什么意思?怎么用?答:为了唯一标识每个类并分组,java使用了package的概念。
每个类都有一个全名,例如String的全名是java.lang.String,其中java.lang是包名,String是短名。
按照java命名惯例,包名是全部小写的,而类名的第一个字母是大写的。
这样,如果你自行定义了同样名字的类String,你可以把它放在mypackage中,通过使用全名mypackage.String和java.lang.String来区分这两个类。
同时,将逻辑上相关的类放在同一个包中,可以使程序结构更为清楚。
为了定义包,你要做的就是在java文件开头加一行“packagemypackage;”。
注意包没有嵌套或包含关系,mypackage包和mypackage.mysubpackage包对JRE来说是并列的两个包(虽然开发者可能暗示包含关系)。
10.我没有声明任何package会怎么样?答:你的类被认为放在默认包中。
这时全名和短名是一致的。
11.在一个类中怎么使用其他类?答:如果你使用java.lang包或者默认包中的类,不用做任何事。
如果你的类位于mypackage包中,并且要调用同一包中的其他类,也不用做任何事。
如果你使用其他包中的类,在package声明之后,类声明之前使用importotherpackage1.Class1;或importotherpackage2.*;这里.*表示引入这个包中的所有类。
然后在程序中你可以使用其他类的短名。
如果短名间有重名冲突,必须使用全名来区分。
注意在使用其他包中的类时,你只能使用public的类和接口。
12.我怎么输出一个int/double/字符串?答:使用System.out.println(n)或者System.out.println("Hello")等等。
13.我怎么从文件输入/输出一个int/double/字符串?答:类似于从键盘输入,只不过换成BufferedReaderfin=newBufferedReader(newFileReader("myFileName"));PrintWriterf out=newPrintWriter(newFileWriter("myFileName"));另外如果你还没下载
API,请开始下载并阅读java.io包中的内容。
14.我想读写文件的指定位置,该怎么办?答:essFile可以满足你的需要。
15.我new了一个对象,但是没法delete掉它。
答:java有自动内存回收机制,即所谓GarbargeCollection。
你不需要删除对象。
你再也不用担心指针错误,内存溢出了。
16.我想知道为什么main方法必须被声明为publicstatic?为什么在main方法中不能调用非static成员?答:声明为public是为了这个方法可以被外部调用,static是为了将某个成员变量/方法关联到类(class)而非实例(instance)。
你不需要创建一个对象就可以直接使用这个类的static成员,因而在static成员中不能调用非static成员,因为后者是关联到对象实例(instance)的。
在A类中调用B类的static成员可以使用B.staticMember的写法。
注意一个类的static成员变量是唯一的,被所有该类对象所共享的,在多线程程序设计中尤其要谨慎小心。
类的static成员是在类第一次被JRE装载的时候初始化的。
17.throw和throws有什么不同?答:throws用于方法声明中,声明一个方法会抛出哪些异常。
而throw是在方法体中实际执行抛出异常的动作。
如果你在方法中throw一个异常,却没有在方法声明中声明之,编译器会报错。
注意Error和RuntimeException的子类是例外,无需特别声明。
18.extends和implements有什么不同?答:对于class而言,extends用于(单)继承一个类(class),而implements用于实现一个接口(interface)。
interface的引入是为了部分地提供多继承的功能。
在interface中只需声明方法头,而将方法体留给实现的class来做。
这些实现的class的实例完全可以当作interface的实例来对待。
在interface之间也可以声明为extend(s多继承)的关系。
注意一个interface可以extends多个其他interface。
19.java怎么实现多继承?答:java不支持显式的多继承。
因为在显式多继承的语言例如c++中,会出 现子类被迫声明祖先虚基类构造函数的问题,而这是违反面向对象的封装性原则的。
java提供了interface和implements关键字来部分地实现多继承。
20.abstract是什么?答:被声明为abstract的方法无需给出方法体,留给子类来实现。
而如果一个类中有abstract方法,那么这个类也必须声明为abstract。
被声明为abstract的类无法实例化,尽管它可以定义构造方法供子类使用。

标签: #证书 #职位 #crm #牌子 #cnc #close #care #文件