内容发布更新时间 : 2024/12/24 4:17:35星期一 下面是文章的全部内容请认真阅读。
y=b; } public int getX(){ return x;} //获得X的坐标 public int getY(){ return y;} // 获得Y的坐标 public String toString(){ return \ } }
/*子类圆的定义*/
class Circle extends Point { //圆类继承父类点类 protected double radius ;//定义圆的半径
public Circle(){ setRadius(0);}// 定义子类的构造函数,隐含调用了父类的构造函数 public Circle(double r,int a,int b){ super(a,b);// (2) setRadius(r); } public void setRadius(double r){ radius = (r>=0.0?r:0.0); // (3) } public double getRadius(){ // 获得圆半径 return radius; }
public double area(){ // (4) return Math.PI*radius*radius; } public String toString(){//圆的半径。以及圆心坐标转换成字符串输出 return \ } }
public class InheritanceTest{ public static void main(String args[]){ Point pointRef,p;//声明两点对象 Circle circleRef,c;//声明两圆对象 String output;//定义一个字符串变量 p=new Point(30,50);//给点对象赋值 c=new Circle (2.7,120,89);//给圆对象赋值
//把点对象和圆对象转换成字符串后给字符串output赋值
output=\
pointRef=c; output=output+\
circleRef=(Circle)pointRef;
output=output+\
DecimalFormat precision2=new DecimalFormat(\ output+= \
//将圆定义成点对象输出
if( p instanceof Circle ){ // (5) circleRef=(Circle) p; output+=\
}else output+=\
//利用对话框输出相关信息
JOptionPane.showMessageDialog(null,output,
\
//退出
System.exit(0); }
}
语句的功能注释:
(1) 方法成员,设置变量x、y (2) 调用父类的构造函数 (3) 设置半径 (4) 求取面积 2. 接口的定义与应用 接口声明的形式如下所示: interface 接口名字
{ …… //常量定义和方法定义 }
接口使用的关键字是implements,形式如下所示: class A implements Printable , Addable 其中类A中使用接口Printable 和 Addable
接口的特点:
1.类体中必须实现接口中定义的所有方法; 2. 接口中的方法和常量必须是public的。
3.实现方法时,方法头必须一致(返回值类型,名字,参数); 4.父类被继承时,接口同时被继承; 5.接口也可被继承,关键字为extends; 6.接口一般表示功能,而类一般表示属性。
例子3-3本实例实现了一个字符栈。程序思路是:首先定义一个字符栈的接口CharStackInterface,定义了栈的空间容量,规定栈所包含的方法,然后定义栈类CharStack,该类实现了字符栈的接口,最后编写测试类StackDemo进行测试。请根据编程思路实现字符栈的接口CharStackInterface,并调试程序正确运行,写出程序执行结果。
------------------------------------------------------------------------------------------------------------------------------ interface CharStackinterface{ //需要实现的字符栈接口 }
class CharStack implements CharStackinterface{ char data[]; int top; CharStack(){ data=new char[maxsize]; } public void initStack(){ top=-1; } public boolean push(char x){ if(!full()){ data[++top]=x; return true; } else{ return false; } } public char pop(){
if(!empty()){ top--; return data[top+1]; } else{ return '\\0'; } } public boolean empty(){ return top==-1; } public boolean full(){ return top==maxsize-1; } }
public class StcckDemo { public static void main(String args[]){ CharStack s=new CharStack(); s.initStack(); s.push('A'); s.push('B'); System.out.println(s.pop()); System.out.println(s.pop()); }
}
字符栈的接口CharStackInterface: 程序的执行结果: