java复习

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.名词解释 1. 重载:方法重载指一个类中有多个方法享有相同的名字,但是这些方法的参数必须不同, 或者参数的个数不同,或者是参数的类型不同。 2 重写:在子类和父类中,子类重写父类的某些方法,方法名,返回值,参数列表子类和父类 完全一致,只是方法体不同,此时不再访问父类方法,只访问子类方法 3. 多态:多态性体现在两个方面:由方法重载实现的静态多态性(编译时多态)和方法重写 实现的动态多态性(运行时多态) 4. 包装类:Java中有8个包装类,分别是Boolean, Byte, Character, Short ,Integer, Long, Float, Double 5. 标识符:是由字母,美元符号,下划线,数字组成的,不能以数字作为开头,也不能用Java 语言的关键字来作为标识符。 6. 类:类是由关键词class来定义。一个类的定义包括两个部分:类声明和类体。 7. 对象:对象是类的一个实体, 它是构成系统的一个基本单位。 8. 输入流:数据从文件流向程序,称为输入流。输入流的指向称为源,程序从指向源的输入 流中读取数据。 9. 输出流:数据从程序流向文件,称为输出流。输出流的指向是字节(字符)流向的地方, 程序通过向输出流中写入数据把信息传递到目的地。 10. 线程:线程是比进程更小的执行单元,单个进程的执行可以产生多个线程。 11. 线程同步:通过Java语言提供的synchronized关键字,可以采用同步方法和同步代码块的方 法实现线程的同步。 12. JDBC:Java database connectivity.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"关系,接口着重表示的是"cando"关系。 (2) abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承但是,一 个类却可以实现多个interface,接口可以解决多重继承问题。 (3) 接口是抽象方法和常量值的定义的集合,从本质上讲,接口是一种只包含常量与抽象方法的
this.width = width; this.longth = longth; this.height = height; } public void area(){ System.out.println("桌子面积是"+longth*width); } public void display(){ System.out.println("桌子名称:"+name+"\n"+"重 量:"+weight+"\n"+"宽:"+width+"\n"+"长:"+longth+"\n高:"+height); } public void changeWeight(int i){ this.weight=i; System.out.println("面积改为"+this.weight); } public static void main(String[] args) { Table table=new Table("红木桌",100.5,3.2,2.3,1.5); System.out.println("创建一个桌子对象,属性如下"); table.display(); table.area(); table.changeWeight(100); System.out.println("更改重量后,属性如下"); table.display(); } } 4. 编写程序,要求创建一个抽象类Father,其中有身高、体重等属 性及爱好(唱歌)等方法,创建子类Son类继承Father类,并增 加性格这个属性,改写父类的方法(爱好)。 public class test { public static void main(String args[]) { Son son = new Son("乖儿子",1.78f,61f, "篮球"); son.showInfo(); son.singsong(); } } abstract class Father {
float high,weight; protected String name; Father(String name,float high,float weight) { this.name = name; this.high=high; this.weight=weight; } abstract void singsong(); abstract void showInfo(); } class Son extends Father { String specialty; Son(String name, float high,float weight,String specialty) { super(name,high,weight); this.specialty = specialty; } void singsong(){ System.out.println(name+"is singging loudly!"); } void showInfo() { System.out.println("姓名:"+name+";身高:"+high+";体 重:"+weight+";爱好:"+specialty); } } 5. 设计一个程序,基于泛型Map实现10个英文单词的汉语翻译,即 通过单词得到它的中文含义。 参考代码: import java.util.*; public class Ex22 { public static void main(String[] args) { String[] eng={"Apple","Orange","Green"}; String[] chs={"苹果","桔子","绿色"}; Map<String,String> map=new HashMap<String,String>(); for(int i=0;i<eng.length;i++) map.put(eng[i],chs[i]); String test="Orange";
特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。接口里面 不能有私有的方法或变量,是用于让别人使用的,接口中的所有常量必须是public static final, 且必须给其初值,其实现类中不能重新定义,也不能改变其值。接口中的方法必须是public abstract,这是系统默认的,不管你在定义接口时,写不写修饰符都是一样的。抽象类中是可以 有私有方法或私有变量的,抽象类中的变量默认是 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.JDBC API中常用的类和接口有5个,是哪5个? 答:DriverManger(类) Connection(接口) Statement(接口) PreparedStatement(接口) ResultSet(接口) 五个步骤:1.加载数据库驱动程序2.与数据库建立连接3.传送super语句4.返回结果5.释放资源。 1.
this. eyeColor = eyeColor; } public String getEyeColor() { return eyeColor; } public void setEyeColor(String eyeColor) { this.eyeColor = eyeColor; } public String getName() { return name; } public void setName(String name) { this.name = name; } } 3. 创建一个桌子(Table)类,该类中有桌子名称、重量、桌面宽度、 长度和桌子高度属性,以及以下几个方法: (1) 构造方法:初始化所有成员变量。 (2) area( ):计算桌面的面积。 (3) display( ):在屏幕上输出所有成员变量的值。 (4) changeWeight(int w):改变桌子重量。 在测试类的main()方法中实现创建一个桌子对象,计算桌面的面 积,改变桌子重量,并在屏幕上输出所有桌子属性的值。 package com.test; public class Table { String name; double weight; double width; double longth; double height; public Table(String name, double weight, double width, double longth, double height) { super(); this.name = name; this.weight = weight;
2. 编写程序,要求创建一个Dog类,添加name,eyeColor属性,为该 属性自动添加相应的set和get方法,并给出至少两个构造方法。 public class Dog { private String name, eyeColor; public Dog (){ this. name ="逗逗"; this. eyeColor = "黑"; } public Dog(String name, String eyeColor ){ this. name = name;
相关文档
最新文档