请问问什么要这样做?
这里有一段代码: 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);
}
}
但是对于这段代码要把构造方法删除才可以运行~~~请问各位大哥这是什么原因?
谢谢`~~~~~
----------------解决方案--------------------------------------------------------
非常感谢,两位版主!
switch(cFuhao)
这步的C是把Fuhao强制转换成字符型了吗?
----------------解决方案--------------------------------------------------------
小弟有问题请大哥帮忙
下面是我刚写的程序请问错误是是: 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());
}
}
请各位大哥帮帮忙哈
----------------解决方案--------------------------------------------------------
还有好象是不能构建一个类的实列,请问这是什么原因?
----------------解决方案--------------------------------------------------------
本人希望各位大哥帮帮忙哈
----------------解决方案--------------------------------------------------------
你编译后报什么错误啊?
----------------解决方案--------------------------------------------------------
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(); } }
----------------解决方案--------------------------------------------------------
qiuligao, 回答你12 楼的问题, char cFuhao =fuhao.charAt(0); // cFuhao 被定义为 字符型 switch 语句中只允许整数型, 所以String 类型是不行的, 但是 char 却是可以的, 因为 char可以被当作整数类型运用, 只是数据范围小一些罢了.
----------------解决方案--------------------------------------------------------
363057223, 你的那个问题在你另外的那个帖子中予以了回复
----------------解决方案--------------------------------------------------------
好了,知道啦,我已经记下来了。多谢了!
----------------解决方案--------------------------------------------------------