java复习Word文档下载推荐.docx
《java复习Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java复习Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
输出流的指向是字节(字符)流向的地方,程序通过向输出流中写入数据把信息传递到目的地。
10.线程:
线程是比进程更小的执行单元,单个进程的执行可以产生多个线程。
11.线程同步:
通过Java语言提供的synchronized关键字,可以采用同步方法和同步代码块的方法实现线程的同步。
12.JDBC:
Javadatabaseconnectivity.JDBC是Sun提供的一套数据库编程接口API函数。
由Java语言编写的类,界面组成。
二.简答题
1.搭建JDK开发环境的主要步骤?
答:
下载JDK,
安装JDK
配置环境变量:
JAVA_HOME、PATH、CLASSPATH;
测试
2.在一个循环中使用break和continue有什么不同?
break用于跳出整个循环语句,在循环结构中一旦遇到break语句,不管循环条件如何,程序立即退出所在的循环体。
continue用于跳过本次循环中尚未执行的语句,但是仍然继续执行下一次循环中的语句。
3.方法覆盖和方法重写的不同?
子类重新定义父类中已经存在的方法,称为方法的覆盖。
方法重载指一个类中有多个方法享有相同的名字,但是这些方法的参数必须不同,或者参数的个数不同,或者是参数类型不同。
返回类型不能用来区分重载的方法。
其实方法重载的最主要的作用就是实现同名的构造方法可以接受不同的参数。
参数类型的区分度一定要足够,例如不能是同一简单类型的参数,如int与long。
方法的重载不是子类对父类同名方法的重新定义,而是在一个类中定义了同名的不同方法。
4.子类的变量和方法的数目一定大于等于父类的变量和方法的数目?
对吗?
为什么?
这样说是不对的,因为父类的私有方法不能被继承。
\\
5.接口和抽象类有哪些异同点?
(1)接口定义了一组特定功能的对外接口与规范,而并不真正实现这种功能,功能的实现留待给实现这一接口的各个类来完成。
抽象类一般作为公共的父类为子类的扩展提供基
础,这里的扩展包括了属性上和行为上的。
而接口一般来说不考虑属性,只考虑方法,使得子类可以自由的填补或者扩展接口所定义的方法。
抽象类表示的是"
is-a"
关系,接口着重表示的是"
can-do"
关系。
(2)abstractclass在Java语言中表示的是一种继承关系,一个类只能使用一次继承但是,一个类却可以实现多个interface,接口可以解决多重继承问题。
(3)接口是抽象方法和常量值的定义的集合,从本质上讲,接口是一种只包含常量与抽象方法的特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。
接口里面不能有私有的方法或变量,是用于让别人使用的,接口中的所有常量必须是publicstaticfinal,且必须给其初值,其实现类中不能重新定义,也不能改变其值。
接口中的方法必须是publicabstract,这是系统默认的,不管你在定义接口时,写不写修饰符都是一样的。
抽象类中是可以有私有方法或私有变量的,抽象类中的变量默认是friendly型,其值可以在子类中重新定义,也可以重新赋值。
(4)实现抽象类和接口的类必须实现其中的所有方法。
在抽象类中可以有自己的数据成员,也可以有非abstarct的成员方法。
而在interface中,只能够有静态的不能被修改的数据成员,所有的成员方法都是abstract的。
实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法。
一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。
6.Java包装类的语言有哪些(写出5个)?
Java中的封装类有Double、Integer、Float、Byte、Long、Character、Short和Boolean等类。
7.Java的异常处理机制是什么(5个关键字及作用)?
五个关键字是try,catch,throw,throws和finally
作用:
程序必须监控异常的语句包含在try块中。
如果在try块中发现异常,程序将引发一个异常,通过使用catch关键字,系统捕获异常,并将处理该异常的代码写在catch块中。
在finally块中,可以指定在程序结束之前必须指行的代码,无论异常是否发生,这段代码一定会被执行。
异常的引发可以有自动和手动两种方法,如果需要手动产生异常可以通过使用throw关键字来实现。
Throw关键字出现在方法的声明中,标识调用该方法可能抛出的各种异常。
8.实现Runnable接口和继承Thread类有什么区别?
Runnable接口只有一个run()方法,实现接口的类必须重写该方法。
而Thread类也实现了runnable接口,但该类有更丰富的方法,常用的有start()方法,run()方法,join()方法,interrupt()方法等。
9.为什么要实现线程的同步?
处理共享资源的竞争。
10.JDBCAPI中常用的类和接口有5个,是哪5个?
DriverManger(类)
Connection(接口)
Statement(接口)
PreparedStatement(接口)
ResultSet(接口)
五个步骤:
1.加载数据库驱动程序2.与数据库建立连接3.传送super语句4.返回结果5.释放资源。
1.
2.编写程序,要求创建一个Dog类,添加name,eyeColor属性,为该属
性自动添加相应的set和get方法,并给出至少两个构造方法。
publicclassDog{
privateStringname,eyeColor;
publicDog(){
this.name="
逗逗"
;
this.eyeColor="
黑"
}
publicDog(Stringname,StringeyeColor){
this.name=name;
this.eyeColor=eyeColor;
publicStringgetEyeColor(){
returneyeColor;
publicvoidsetEyeColor(StringeyeColor){
this.eyeColor=eyeColor;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
3.创建一个桌子(Table)类,该类中有桌子名称、重量、桌面宽度、长度
和桌子高度属性,以及以下几个方法:
(1)构造方法:
初始化所有成员变量。
(2)area():
计算桌面的面积。
(3)display():
在屏幕上输出所有成员变量的值。
(4)changeWeight(intw):
改变桌子重量。
在测试类的main()方法中实现创建一个桌子对象,计算桌面的面积,
改变桌子重量,并在屏幕上输出所有桌子属性的值。
packagecom.test;
publicclassTable{
Stringname;
doubleweight;
doublewidth;
doublelongth;
doubleheight;
publicTable(Stringname,doubleweight,doublewidth,doublelongth,doubleheight){
super();
this.weight=weight;
this.width=width;
this.longth=longth;
this.height=height;
publicvoidarea(){
System.out.println("
桌子面积是"
+longth*width);
publicvoiddisplay(){
桌子名称:
"
+name+"
\n"
+"
重量:
+weight+"
宽:
+width+"
长:
+longth+"
\n高:
+height);
publicvoidchangeWeight(inti){
this.weight=i;
面积改为"
+this.weight);
publicstaticvoidmain(String[]args){
Tabletable=newTable("
红木桌"
100.5,3.2,2.3,1.5);
创建一个桌子对象,属性如下"
);
table.display();
table.area();
table.changeWeight(100);
更改重量后,属性如下"
4.编写程序,要求创建一个抽象类Father,其中有身高、体重等属性及
爱好(唱歌)等方法,创建子类Son类继承Father类,并增加性格这个属性,改写父类的方法(爱好)。
publicclasstest{
publicstaticvoidmain(Stringargs[]){
Sonson=newSon("
乖儿子"
1.78f,61f,"
篮球"
son.showInfo();
son.singsong();
abstractclassFather{
floathigh,weight;
protectedStringname;
Father(Stringname,floathigh,floatweight){
this.high=high;
this.weight=weight;
abstractvoidsingsong();
abstractvoidshowInfo();
classSonextendsFather{
Stringspecialty;
Son(Stringname,floathigh,floatweight,Stringspecialty){
super(name,high,weight);
this.specialty=specialty;
voidsingsong(){
System.out.println(name+"
issinggingloudly!
voidshowInfo(){
姓名:
身高:
+high+"
体重:
爱好:
+specialty);
5.设计一个程序,基于泛型Map实现10个英文单词的汉语翻译,即通
过单词得到它的中文含义。
参考代码:
importjava.util.*;
publicclassEx22{
String[]eng={"
Apple"
"
Orange"
Green"
};
String[]chs={"
苹果"
桔子"
绿色"
Map<
String,String>
map=newHashMap<
();
for(inti=0;
i<
eng.length;
i++)
map.put(eng[i],chs[i]);
Stringtest="
System.out.println(test+"
翻译:
+map.get(test));
6.自定义异常类,在进行减法运算时,当第一个数大于第二个数时,
抛出“被减数不能小于减数”,并编写程序进行测试。
importjava.util.Scanner;
//MyException类的定义(同第11题)
publicclassEx13{
intnum1,num2;
Scannerscan=newScanner(System.in);
num1=scan.nextInt();
num2=scan.nextInt();
try{
if(num1<
num2)
thrownewMyException("
被减数不能小于减数"
}catch(MyExceptione){
System.out.println(e);