本帖最后由 王瀛 于 2013-5-26 12:06 编辑
刚学完抽象,综合前面学的知识,自己写了一个小程序。- abstract class Shape{//定义图形类
- double area;//定义面积变量
- String name;//定义名称变量
- abstract public void draw();//定义画图的抽象方法
- public double area(){//定义获取面积的方法
- return area;
- }
- /*System.out.println("我的形状是"+name+"我的面积是"+area);*///-------HELP.1
- /*System.out.println("123");*///-------HELP.20
- }
- class Triangle extends Shape{//定义Triangle类继承shape类
- double d,h;//定义成员变量(底和高)
- Triangle(String name,double d,double h){//定义变量为图形名称、底、高的Triangle的构造函数
- this.d = d;
- this.h = h;
- super.area = d*h/2;//三角形面积公式
- super.name = name;
- }
- public void draw(){//定义方法,展示图形名称及其面积
- System.out.println("形状是"+name+"******面积是"+area);
- }
- }
- class Rectangle extends Shape{//定义Rectangle类继承Shape类
- double l,w;//定义成员变量(长和宽)
- Rectangle(String name,double l,double w){//定义变量为图形名称、长、宽的Rectangle的构造函数
- this.l = l;
- this.w = w;
- super.area = l*w;//长方形面积公式
- super.name = name;
- }
- public void draw(){//定义方法,展示图形名称及其面积
- System.out.println("形状是"+name+"++++++面积是"+area);
- }
- }
- class PrintShape{
- public static void main(String[] args){
- Triangle t = new Triangle("三角形",20,10);//将Triangle类实例化
- Rectangle r = new Rectangle("长方形",8,9);//将Rectanglel类实例化
- t.draw(); //调用三角形的draw()方法
- r.draw();//调用长方形的draw()方法
- }
- }
复制代码 如上所示,HELP.1和HELP.2已经被注释掉。
剩下的部分就是我开始写的程序,能够正常运行,运行结果如下:
后来我考虑在抽象类Shape中加入HELP.1中的内容:System.out.println("我的形状是"+name+"我的面积是"+area);
出现如下错误:
后来我又将HELP.1行的语句替换成HELP.2的语句:System.out.println("123");
还是出现错误,如下:
求帮忙分析一下,谢谢。
已经解决
语句要写在方法中,大意了。尴尬的错误。。。 |