实验3_Java类的继承和接口的定义和使用
来源:互联网 发布:单片机初始化程序 编辑:程序博客网 时间:2024/05/23 19:17
本次有三题:学会Java类的继承、接口的定义和使用
// Ex3_1.java/** * 题目要求: * 修改例5.7(P95)实现在页面中拖动鼠标画出矩形,矩形的对角线为点击并拖动鼠标形成的直线线段。 * 源程序保存为Ex3_1.java。 * 使用到的绘制矩形函数:drawRect(x,y,width,height); * 其中x,y是矩形左上角的坐标,width、height是矩形的宽和高。 **/ import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Ex3_1 extends Applet implements MouseListener, MouseMotionListener { // MouseListener 用于接收组件上“感兴趣”的鼠标事件(按下、释放、单击、进入或离开)的侦听器接口。 // MouseMotionListener 用于接收组件上的鼠标移动事件的侦听器接口。(对于单击和其他鼠标事件,请使用 MouseListener。) int x1, y1, x2, y2; public void init() { addMouseListener(this); addMouseMotionListener(this); } public void paint(Graphics g) { // 计算长宽 int width = x2 - x1; if (width < 0) { width = 0 - width; } int height = y2 - y1; if (height < 0) { height = 0 - height; } // 确认哪边为原点坐标 // 这里有四种情况,当设x1, y1 为原点时,画矩形时另一个点会在四个像限中的其中一个 // 那么,此时,必须得改变原点坐标,使其输出,以最小的x, y 作为原点 if (x2 < x1 && y2 > y1){g.drawRect(x2,y1,width,height); } else if (x2 > x1 && y2 > y1){g.drawRect(x1,y1,width,height); } else if (x2 < x1 && y2 < y1){g.drawRect(x2,y2,width,height); } else {g.drawRect(x1,y2,width,height); } } public void mousePressed(MouseEvent e) // 按下鼠标,记录起点 { x1 = e.getX(); y1 = e.getY(); } public void mouseClicked(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} /** * 操作:void mouseDragged(MouseEvent e) * 鼠标按键在组件上按下并拖动时调用。 * 在释放鼠标按键前,MOUSE_DRAGGED 事件被连续地传递到发起该拖动的组件(而不管鼠标位置是否处于该组件的边界内)。 **/ public void mouseDragged(MouseEvent e) // 记录终点坐标并刷新屏幕显示 { x2 = e.getX(); y2 = e.getY(); repaint(); } public void mouseMoved(MouseEvent e){} }
<html><applet code = "Ex3_1.java" height = 600 width = 800></applet></heml>
上题运行结果:
// Ex3_2.java/** * 题目要求:按如下要求编写程序,定义类A和类B及添加相应的成员变量、成员方法: * 类A:两个成员变量: * int类型变量z,赋值为 16 ; * char类型变量x,赋值为 'A' 。 * 一个成员方法: * myPrint( ):用于在屏幕上输出z和x的值。 * 类B:类A的子类,再定义两个成员变量: * double类型的变量y,赋值为16.0; * String类型的变量s,赋值为“java program”。 * 两个个成员方法: * myPrint(),用于在屏幕上输出y和s的值。 * printAll( ):分别调用父类和子类的方法myPrint( )。 * 编写main方法测试程序,创建B的对象b,调用printAll方法显示z、x、y、s的值。 **/import java.lang.*;public class Ex3_2{public static void main(String [] args){ B test = new B(); test.printAll();}}class A{int z = 16;char x = 'A';public void myPrint(){System.out.println("类A: z = " + z + ", x = " + x); }}class B extends A{double y = 16.0;String s = "java program";public void myPrint(){System.out.println("类B: y = " + y + ", s = " + s); }public void printAll(){super.myPrint();myPrint();}}
// Ex3_3.java/** * 题目要求: * 定义一个接口Areaable,接口中定义一个求面积的抽象方法:getArea()。 * 然后声明一个类Circle实现Areaable接口,添加成员变量记录圆半径,实现接口中的方法求圆面积, * 并编写main方法测试程序,创建对象,计算并输出其面积。 **/ public class Ex3_3 { public static void main(String [] args) { Circle test = new Circle(); test.setR(10.0); double result = test.getArea(); System.out.println("求得面积为:" + result); } }interface Arreaable { double getArea(); } class Circle implements Arreaable { double r; public void setR(double R){r = R; } public double getArea(){ return r * r; } }
- 实验3_Java类的继承和接口的定义和使用
- 实验2_Java类的创建和使用
- 继承的定义和具体使用-1
- 类的继承和接口
- 类的继承和接口
- 5.6 实现Runable接口定义线程和直接继承Thead类定义线程的区别
- 类和接口的定义
- c#实验5.1:类的继承和使用
- 黑马程序员_Java继承和接口
- JAVA实验三 抽象类的继承和接口的实现 (多态)
- C++ 定义和使用接口类的简单模式
- 黑马程序员_Java抽象类和接口的比较
- 黑马程序员_JAVA的接口和抽象类
- Javascript中类的定义和继承
- javascript的类定义和基本继承
- 类的继承和接口的实现
- 10-接口和继承类的区别
- Java类和接口的继承
- 那年,一步一步学linux c ---华为面试题之Variable
- _T() 函数
- Failed to create the Java Virtual Machine
- 第十九天(C++代码重用IV)
- 二分排序与二分查找
- 实验3_Java类的继承和接口的定义和使用
- 哈希表
- VC++ 之 RichEdit 常见使用技
- 深入研究java.lang.ThreadLocal类
- 语音虚拟助理将引领下一代互联网人机交互
- 随机文本生成与马尔科夫链
- html+qjquery 实现变色
- 子衿的事(64)
- dsadffff