标题:HELP!JAVA题。(菜鸟级)问题见代码!
只看楼主
363057223
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-8-17
得分:0 
请问问什么要这样做?
这里有一段代码: class Test extends A
{
 public static void main(String args[])
     {
   Test t=new Test();
      t.print();
     }
}
class A
{String s;
 A(String s)
 { this.s=s;
 }
 public void print()
 {System.out.println(s);
 }
}
但是对于这段代码要把构造方法删除才可以运行~~~请问各位大哥这是什么原因?
谢谢`~~~~~
2005-08-17 11:38
qiuligao
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-8-11
得分:0 
非常感谢,两位版主!
switch(cFuhao)
这步的C是把Fuhao强制转换成字符型了吗?
2005-08-17 14:02
363057223
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-8-17
得分:0 
小弟有问题请大哥帮忙
下面是我刚写的程序请问错误是是: abstract class GeometricObject
{   protected String color;
    protected double weight;
    protected GeometricObject()
    { color ="white";
      weight=1.0;
    }
    protected GeometricObject(String color,double weight)
    {this.color=color;
     this.weight=weight;
    }
    public String getColor()
    {return color;
    }
    public void setColor(String color)
    {this.color=color;
    }
    public double getWeight()
    {return weight;
    }
    public void setWeight(double weight)
    {this.weight=weight;
    }
    public abstract double findArea();
    public abstract double findPerimeter();
}
 class Triangle extends GemometricObject
{  private  double side1,side2,side3;
   Triangle(double side1,double side2,double side3)
    {side1=3.0;
     side2=4.0;
     side3=5.0;
    }
    public double findArea()
    {double s=(side1+side2+side3)/2;
     double area=Math.sqrt(s*(s-side1)*(s-side2)*(s-side3));
     return area;
    }
    public double findPerimeter()
    {double s=(side1+side2+side3)/2;
      return s;
    }
}
public class Example
{public static void main(String[] args)
   {Triangle t=new Triangle();
    double b=t.findArea();
    System.out.println("the triangle's s is:"+t.findPerimeter()+"now the triangle's area is:"+t.findArea());
   }
}
请各位大哥帮帮忙哈
2005-08-17 16:52
363057223
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-8-17
得分:0 
还有好象是不能构建一个类的实列,请问这是什么原因?
2005-08-17 17:09
363057223
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-8-17
得分:0 
本人希望各位大哥帮帮忙哈
2005-08-17 17:10
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
得分:0 
你编译后报什么错误啊?

相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2005-08-17 19:09
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
363057223, 回答你11楼的问题,错误的原因如下: 首先, main 方法属于子类中的一个方法, 第二,你在子类中并没有定义 default constructor 而你在 main 方法中通过 default constructor 来建立 t 这个 Object , 此时,系统将自动为你建立一个 default constructor, 这个系统自动生成的default construtor 只是为 t 这个Object 开辟空间而已, 但是 由于子类继承了父类, 在建立 t 这个 Object 时, 必然要调用父类的 constructor, 此时发现类型不符, 所以就报错了. 现将你的代码更改如下: class A { String s; A(String s) { this.s=s; } public void print() { System.out.println(s); } } class Test extends A { Test(String s) { super(s); } public static void main(String args[]) { Test t=new Test("Hello World"); t.print(); } }

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-17 19:38
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
qiuligao, 回答你12 楼的问题, char cFuhao =fuhao.charAt(0); // cFuhao 被定义为 字符型 switch 语句中只允许整数型, 所以String 类型是不行的, 但是 char 却是可以的, 因为 char可以被当作整数类型运用, 只是数据范围小一些罢了.

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-17 19:46
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
得分:0 
363057223, 你的那个问题在你另外的那个帖子中予以了回复

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-17 19:50
qiuligao
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2005-8-11
得分:0 
好了,知道啦,我已经记下来了。多谢了!
2005-08-18 08:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-25195-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041800 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved