(4)静态成员的定义及使用;(static修饰) (5)包的导入方法;(import) (6)类及成员的访问权限
(五)类的继承、多态和接口
(1)子类的声明:
(public class MyApp extends Object ) (2)类的层次结构:根类——Object类 (3)this和super关键字的使用。(P90) (4)final类和fianl方法;
(5)abstract类和abstract方法的定义及应用; abstract类特点:
? ? ?
(5)多态的概念,方法的重载和方法的覆盖。
重载在同一类中定义多个同名的不同方法,其参数表必须不同。这种多态性使类能够对外提供一致的接口
? 方法名必须相同(是同一类中定义同名方法的情况)。
? 方法的参数必须不同(同名不同方法是靠不同形式的参数列表来区分,包括形式参数的个数、类型、顺序的不同)。
? 返回类型可以不同,但不是重载的标志。 ? 利用“重名”现象提高程序的抽象度和简洁性。
如果子类声明与父类同名的方法,称为方法覆盖
? 分别声明在子类和父类中。 ? 方法的参数列表相同
类前需加修饰符abstract,代表一个抽象概念的类,没有具可包含常规类能够包含的任何东西,例如构造方法,非抽象只有抽象类才能具有抽象方法,即如果一个类中含有抽象方
体实例对象的类,不能使用new方法进行实例化,只能由子类继承 方法;也可包含抽象方法,这种方法只有方法的声明,而没有方法的实现。 法,则必须将这个类声明为抽象类。
(6)接口的概念、特点和声明方法;接口的实现方法;
? 接口的特点
1. 接口与类比较,有其特殊性。接口定义可以多继承;
2. 接口允许没有父接口,即接口不存在最高层,与类的最高层为object
类是不同的;
3. 接口的方法只能被声明为public和abstract,如果不声明,则默认
为public abstract;接口中的成员变量只能用public、static和final来定义,如果不声明,则默认为public static final。
例如:
static double PI=3.14159;
系统默认为public static final double PI=3.14159;
4. 接口中的方法是抽象方法。在接口中只给出方法名、返回值和参数表,而不能定义方法体。
接口和抽象类的区别:
a) 接口不能实现任何方法,没有构造方法,而抽象类可以; b) 接口只能声明常量,抽象类中可声明成员变量; c)一个类可以实现多个接口,但只能有一个直接超类;
d)抽象类中成员访问权限和普通类一样,但接口中成员的访问权限只能是public e)接口不是任何类的继承层次的组成部分,无关的几个类可以实现同一个接口 类变量和实例变量的区别:(P64)
练习4,5内容:
1.每一个对象都是由 两部分构成,同一类对象的 都是一样的,但 都是独立于其他对象的。
2.实例变量的修饰符不可以用 。
3.一个类中可以有 和 个构造方法,他们的 相同但 不同。
4.要使用构造方法创建对象,必须用关键字 。
5.用修饰符 修饰的变量成为静态变量,也叫 。它不属于类的任何一个具体 。
6.this关键字常用在类的构造方法和实例方法中解决 和 同名的问题。
7.定义包的形式为: ;导入的形式为: 。
8.关键字 是定义接口的;关键字 是定义类的,实现接口用关键字 。继承类用关键字 。 9.接口中的方法均使用关键字 和 修饰。 10. 抽象方法不能用修饰符 和 修饰
11. Java 中对父类成员访问则用的关键字是 ,而引用当前对象的关键字是 。
1.关于构造方法错误的是()
a.构造方法的方法名与其所在类名相同
b.构造方法的主要作用是完成对类对象实例变量的初始化工作。 c.构造方法的修饰符一般为public。 d.构造方法没有返回值,因此使用关键字void 2.下列哪项不是访问控制符( )
a. private b.protected c.static d.public 3.在Java中,所有类的父类是:( )。
(A)Father (B)Lang (C)Exception (D)Object
4.在Java中,类变量必须带有的修饰符是: 。
(A)static (B)final (C)public (D)Volatile ( )
5.下面论述中正确的是:( )。
(A)java不区分大小写 (B)源文件名和程序类名可以不一致 (C)一个文件中最多只有一个public类 (D)文件中的类只能有一个
6.下列关于继承的叙述正确的是: 。
(A)在Java中类允许多重继承 (B)在Java中一个类只能实现一个接口
(C)在Java中一个类不能同时继承一个类和实现一个接口 (D)Java中的单一继承使代码更可靠
程序阅读题:P81 8、9、10 P107 6、7
编程题:
1.定义一个圆类Circle,有属性:圆半径r;有方法:构造方法用于为半径赋值,计算周长的方法Perimeter()和计算面积的方法area();在main方法中创建Circle的类对象,半径为3,计算并显示其周长和面积。
2. 设计一正方形类(Square),只有一个边长属性(sideLength),具有:构造方法,计算面积(area)和计算周长(perimeter)三个方法。在main方法中创建对象(sideLength=15),用调用对象方法的形式,计算并显示该正方形的面积和周长。
3. 设计一个汽车类(Car),该类有:车主姓名(carName)和当前车速(carSpeed)二个属性,有改变车速(carChange)、停车操作(carStop)以及设置、获取相关属性的方法。在main方法中创建Car类的一个对象(“成龙”,120f),并打印出该对象的属性值。
参考答案
P119
5、6
P142
4、5
(六) Java异常处理
主要内容:
(1)异常概念;Java异常处理机制及优点 (2)异常的捕获与处理。
(3)自定义异常类(Exception的子类);标准异常类();
(七) Applet应用程序和常用系统类
主要内容:
(1)Applet类的概念;(Applet和Application运行时的区别) (2)常用方法。 (3)Applet的生命周期
9.3 Applet的生命周期运行时环境自动完成创建init( )方法加载Applet参数和平台必需打初始化处理初始化start( )方法初次执行或重新执行的入口浏览器窗口图标化、转到其他网页stop( )方法开始运行/停止重新运行start( )方法浏览器窗口解除图标化、重新装入网页destroy( )方法关闭浏览器消亡(4)常用的系统类
练习7内容: 选择题
1.关于Applet运行过程,下列说法错误的是(B)
A.浏览器家在指定URL中的HTML文件 B.浏览器加密HTML文件
C.浏览器加载HTML文件中指定的Applet类 D.浏览器中的java运行环境运行该Applet 2.Applet的生命周期是指(C)
A.Applet下载到浏览器,到用户连接到下一个页面的过程 B.用户一次提交或刷新页面的全过程
C.Applet下载到浏览器,到用户退出浏览器的过程
D.打开浏览器到关闭计算机的全过程 3.与Applet生命周期有关的主要方法是(D)
A.init() B.start() C.stop() D.以上都是
4.关于Applet和Application,下列说法错误的是(B)
A.Applet自身不能运行
B.Applet可以嵌在Application中运行 C.Application以main()方法为入口 D.Applet可嵌在浏览器中运行
5.在Applet中画图、画图像、显示字符串用到的方法是(D)
A.paint() B.init() C.stop() D.draw()
1.Applet生命周期中的关键方法包括: init()_、start()、stop()、destroy()。 2.每个Applet必须定义为__ Applet或者Japplet的子类
(八) 图形用户界面设计
主要内容:
(1)Java中的事件处理机制;
在对事件进行处理时,采用一种委托事件模型的形式。它的含义是将事件的处理委托给独立的对象,这样使得用户界面与程序逻辑分开,整个“委托事件模型”由产生事件的对象、事件对象和监听者对象之间的关系所组成。
产生事件的对象会在事件产生时,将与该事件相关的信息封装在一个称之为“事件对象”的对象中,并将该对象传递给监听者对象,监听者对象根据该事件对象内的信息决定适当的处理方式。监听者对象要收到事件发生的通知,必须在程序中向产生事件的对象注册,当事件产生时,产生事件的对象就会主动通知监听者对象,监听者对象根据产生该事件的对象来决定处理事件的方法。监听者对象就是用来处理事件的对象,它等候事件的发生,并在事件发生时接收到通知。
(2)事件处理中的常用事件(ActionEvent,MouseEvemt,KeyEvent;借口及适配器)。
(3)布局管理器(FlowLayout和BorderLayout)。 (4)图形用户界面设计的基本组件和基本步骤。 练习8内容:
1.事件处理机制能够让图形界面响应用户的操作,主要包括() A.事件 B.事件处理 C.事件源 D.以上都是
2.( )布局管理器使容器中各个构件呈网格布局,平均占据容器空间。 A.FlowLayout B.BorderLayout C.GridLayout D.CardLayout
使用Swing组件编写一个Application,JFrame框架(frame)中包含一个标签(lbl),一个OK按钮(btnok),一个Cancel按钮(btncancel)。布局方式采用FlowLayout布局方式,初始状态如图1所示,当用户单击按钮时,标签显示相应的信息,运行结果如下图2,图3所示。
参考答案
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class JButtonDemo {
public static void main(String args[]){ } }
JButtonDemo demo=new JButtonDemo(); private JButton btnok=new JButton(\private JButton btncancel=new JButton(\private JLabel lbl=new JLabel(\请单击按钮\JFrame frame=new JFrame(\主窗口\public JButtonDemo(){
Container c=frame.getContentPane();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); c.setLayout(new FlowLayout()); c.add(lbl); c.add(btnok); c.add(btncancel);
btnok.addActionListener(new Handle()); btncancel.addActionListener(new Handle()); frame.setSize(300,200); frame.setVisible(true); }
class Handle implements ActionListener{
public void actionPerformed(ActionEvent e){
if(e.getSource()==btnok)
lbl.setText(\你按了OK按钮\ if(e.getSource()==btncancel) }
lbl.setText(\你按了Cancel按钮\
}
(九)输入与输出系统
主要内容:
流的概念;标准输入与输出;字节流和字符流;文件的处理。 要求:
(1) FileInputStream和FileOutputStream、BufferedInputStream和
BufferedOutputStream流类;InputStreamReader、OutputStreamWriter、FileReader和FileWriter流类。
(2) File类的常用方法
(3) 标准输入与输出。( Java 系统预先定义好 3个流对象分 别表示标准输出设备、