一、基础知识
1.简述使用文本编辑器和JDK创建并运行Java应用程序的基本步骤。
2. 对比分析Java与其它高级语言的编译和运行过程,说明Java具有平台独立性的原因?
3.简述break和continue语句在使用时的区别?
二、类和对象1
1.什么是类?什么是对象?类和对象有何联系?
2.方法的重载和方法的覆盖有什么不同?
3.类变量和实例变量有何区别?
4.Java的成员变量修饰符有哪几种?其中哪种修饰符限定的范围最大?
5.作用域public,private,protected,以及不写时的区别
6.说明对象的基本概念和主要特征?
三、类和对象2
1.抽象类和抽象方法有什么特点?
2.接口和抽象类有什么区别?
3.什么是包?为什么要使用包?
4.简述在类的继承关系中,子类可以继承父类的哪些成员,不能继承的有哪些成员。
5.多态
多态:相同类型的变量,调用相同的方法,执行的具体代码却不同的现象称为多态
继承与多态表现形式:变量隐藏 (属性的不同表现)方法重写(方法的不同表现) 上转型对象(实例的不同表现)
方法的覆盖
规则:父类和子类方法同名;返回值类型形同;参数类型顺序相同;子类方法的权限不小于父类方法权限;子类方法只能抛出父类方法声明抛出的异常或异常子类。
(异常应比父类方法更具体)p119 继承关系图
注意:子类只有在能够访问到父类方法时才能对该方法进行重写
函数重载:函数名称相同,函数的参数个数不同或参数类型不同或参数顺序不同
四、异常
1.Error类和Exception类有什么区别?
2.什么是异常?为什么要进行异常处理?
3.简述异常处理的过程。
4.写出下列关键字的意义和运用场合:①final;②finalize;③finally。
五、常用类库
1.Vector对象的大小与容量之间有什么区别?
2.String类和StringBuffer类的主要区别是什么?
六、GUI用户图形界面
1.简述Java应用程序与Java小应用程序的区别。
2.简述Applet的生命周期。
3.简述使用Swing创建图形界面程序的步骤。
七、输入输出流
1.简述读写文本文件的基本步骤。
一、基础知识
1、①打开文本编辑器输入Java源程序;②保存文件,文件名为源程序中public 修饰类的类名,扩展名为.java;③打开命令行工具;④编译程序,在命令行输入:javac 源程序文件名;⑤运行程序,在命令行输入:java 源程序中public修饰的类名。
二、类和对象1
1. 答:在面向对象程序设计里,类是定义一个对象的属性和方法的蓝本。
对象就是一组变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。
类是对象的模板,对象是类的实例,可以从一个类中创建许多对象。
2. 答:方法重载,指的是在类中创建多个具有相同名称,但使用不同参数的方法,Java虚拟机根据传递给方法的参数个数和类型决定调用哪个重载方法。
方法的覆盖指在子类中重新定义父类中已有的方法,对于重写的方法,运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。
3.答:由static修饰的变量称为类变量,当系统在程序中第一次遇到一个类时,便会拷贝一份所有的类变量在内存里。
然后那些由此类产生的实例便可分享这些类变量。
实例变量指不是用static修饰的变量,可供实例方法使用。
实例变量会复制于每一个从类产生的实例中。
4. 答:成员变量的修饰符有public、protected、private、static、final、transient、volatile七种。
Public修饰符的限定范围最大。
5. 答:区别如下:
作用域当前类同一包子类其他包
public √√√√
protected √√√×
friendly √√××
private √×××
不写时默认为friendly
三、类和对象2
1.答:①一个抽象类里可以没有抽象方法,但含有抽象方法的类必定为抽象类。
②抽象类不能被实例化为对象,而只能作为其它类的超类,并且必须被继承。
③若某子类继承自一个抽象类,而该子类不是抽象类,则子类需用覆盖的
方式来实例化超类中的所有抽象方法。
抽象方法可再与public、protected复合使用,但不能与final、private和static复合使用。
④抽象方法只有方法声明,不能有方法体。
答:包(package)是类的容器。
由于Java编译器为每个类生成一个字节码文件,且文件名与类名相同,因此同名的类有可能发生冲突。
为了解决这一问题,Java 提供包来管理类名空间。
此外一旦创建了一个类,并想重复地使用它,那么把它放在一个包中将是非常有效的。
2..答:从本质上讲,接口是一种特殊的抽象类,然而它们又有区别:
①接口只包含常量,而抽象类则不一定。
②接口中不能有非抽象的方法,但抽象类中可以有。
③一个类能实现多个接口,但只能有一个父类。
④接口并不属于继承结构,它实际与继承无关,无关的类可以实现同一个接口。
3.答:包(package)是类的容器。
由于Java编译器为每个类生成一个字节码文件,且文件名与类名相同,因此同名的类有可能发生冲突。
为了解决这一问题,Java 提供包来管理类名空间。
此外一旦创建了一个类,并想重复地使用它,那么把它放在一个包中将是非常有效的。
4.答:可继承:①父类中公开级的成员;②父类中保护级的成员;③如果子类和父类在同一个包中,则子类继承父类中缺省的包访问级的成员。
不可继承:④父类中私有级的成员;⑤不在同一包的缺省成员和父类的同名成员。
四、异常
1.答:Error类及Exception类是Throwable类的两个直接子类。
Error类描述的是内部系统错误,包括动态链接失败、虚拟机错误等,Java程序不做处理。
Exception 类描述的是程序和外部环境引起的错误,这些错误能通过程序捕获和处理,Exception类是Java程序中需要大量处理的。
3.答:程序运行时出现错误时,创建异常对象,抛出异常对象,捕获该异常对象并进行处理。
4. 答:final, finally, finalize的区别如下:
final 用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
1.答:异常,是指由于程序运行时发生错误,从而导致程序错误结束。
在进行程序设计时,错误的产生是不可避免的,没有异常处理代码的程序,在运行时发生错误则可能非正常结束,引起严重问题。
因此,Java给程序员提供了处理运行时错误的功能,称为异常处理。
五、常用类库
1.答:一个Vector对象的大小是包含的Object引用的实际数量。
而容量是指为Object引用分配的存储空间的数量。
2.答:String类:用于比较两个字符串,查找和抽取串中的字符或子串,字符串与其他类型的转换等,String类对象的内容一旦被初始化就不能再改变。
StringBuffer类:用于内容可以改变的字符串,可以将其他各种类型的数据增加、插入到字符串中,也可以翻转字符串中原来的内容。
六、图形界面
1、Java应用程序:①若是图形用户界面,则以Frame为基础;②若以DOS界面运行,它默认的程序入口是标准的main()方法;③Java应用程序在JVM上运行,JVM 在操作系统上运行。
Java小程序:④必须是扩展Java的Applet类来实现;⑤Applet类定义中没有main()方法,运行需要通过支持Java的浏览器调用执行;
2、①一个Applet的生命周期包含4个重要方法:init()、start()、stop()和destroy()。
②浏览器装载Applet时调用init()和start()方法;③小程序最小化或浏览器跳到其他页面时调用stop()方法;④小程序还原或页面返回时调用start()方法;⑤小程序关闭时执行stop()和destroy()方法。
3、①导入Swing包;②选择界面风格;③创建顶层容器;④创建基本组件;⑤创建中间级容器;⑥将基本组件添加到中间容器;⑦将中间级容器添加到顶层容器;
⑧处理事件。
七、输入输出流
1、①导入输入/输出包;②创建文件对象;③创建读出/写入操作的对象;④数据文件的读/写操作;⑤关闭文件。