//1、修改例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.*;
//类Ex3_1继承Applet类,并实现了两个接口MouseListener,MouseMotionListener
public class Ex3_1 extends Applet implements MouseListener,MouseMotionListener
{
int x1,y1,width,height;
public void init() //初始化方法
{
addMouseListener(this); //监听器
addMouseMotionListener(this);
}
public void paint(Graphics g)
{
g.drawRect(x1,y1,width,height); //画矩形
}
public void mousePressed(MouseEvent e)//记录起点坐标
{
x1=e.getX();
y1=e.getY();
}
//实现接口定义的5个方法
public void mouseClicked(MouseEvent e){} //单击
public void mouseEntered(MouseEvent e){} //进入
public void mouseExited(MouseEvent e){} //离开
public void mouseReleased(MouseEvent e){} //放开
public void mouseDragged(MouseEvent e) //计算长宽
{
width=x1+e.getX();
height=y1+e.getY();
repaint();
}
public void mouseMoved(MouseEvent e){}
}
/*2、按如下要求编写程序,定义类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的值。
*/
class A //类A
{
public int z=16;
public char x='A';
public void myPrint() //类A的方法
{
System.out.println("z="+z);
System.out.println("x="+x);
}
public static void main(String[] args) //主方法
{
B b=new B(); //定义B类对象b
b.printAll(); //调用B类定义的方法
}
}
class B extends A //声明类B继承父类A
{
private double y=16.0;
private String s="java program";
public void myPrint() //类B的方法
{
System.out.println("y="+y);
System.out.println("s="+s);
}
public void printAll() //输出父类和子类的数据
{
super.myPrint();
this.myPrint();
}
}
//3、编写程序:定义一个接口Areaable,接口中定义一个求面积的抽象方法:getArea()。
//然后声明一个类Circle实现Areaable接口,添加成员变量记录圆半径,实现接口中的方法求圆面积,
//并编写main方法测试程序,创建对象,计算并输出其面积。
interface Areaable //定义接口
{
double getArea(); //声明抽象方法
}
public class Circle implements Areaable
{
final double Pi=3.14;
double Radius=2;
public double getArea() //定义抽象方法
{
return Pi*Radius*Radius;//返回圆面积
}
public static void main(String [] args)
{
double a;
Circle c=new Circle(); //定义对象
a=c.getArea();
System.out.println("圆的面积="+a);
}
}