java中的面向对象-类和对象-类的构造方法
我是一个java初学者我想请教一下下面这个程序应该怎么改才行?
public class Spere
{
double r,s,l;
Spere(double R)
{
r=R;
}
double countlength()
{
l=Math.PI*2*r;
return l;
}
double countarea()
{
s=Math.PI*r*r;
return s;
}
double setR(double h)
{
r=h;
return r;
}
public void main(String[]args)
{
Spere s1=new Spere();
Spere(3.0);
System.out.println("半径为3.0的圆周长为:"+countlength());
System.out.println("半径为3.0的圆面积为:"+countarea());
setR(5.0);
System.out.println("半径为5.0的圆周长为:"+countlength());
System.out.println("半径为5.0的圆面积为:"+countarea());
}
}
[解决办法]
Spere s1=new Spere();
Spere(3.0);
这里的问题,你想使用带参构造的话 必须先自己写出默认构造public Spere() {}。在Spere(double R)方法前面增加一个public Spere() {}就行了。
[解决办法]
public class Spere{double r,s,l;public Spere(double R){r=R;}public double countlength(){l=Math.PI*2*r;return l;}public double countarea(){s=Math.PI*r*r;return s; }public double setR(double h){r=h;return r;}public static void main(String[]args) //这里写错 ,java的main应该是static的{Spere s1=new Spere(3.0); System.out.println("半径为3.0的圆周长为:"+s1.countlength());//由于countlength未定义为static,所以需要加上s1 System.out.println("半径为3.0的圆面积为:"+s1.countarea()); s1.setR(5.0);//由于setR未定义为static,所以需要加上s1 System.out.println("半径为5.0的圆周长为:"+s1.countlength()); System.out.println("半径为5.0的圆面积为:"+s1.countarea());}}
[解决办法]
构造方法出错了
2楼+1.
[解决办法]
直接 Spere s1=new Spere(3.0);就可以了,因为你自己写了一个构造方法所以,原来默认隐藏的无参工造方法就没有了,所以直接要求传参,一般标准是,有一个无参构造方法,一个有全部的参数的工造方法。
[解决办法]
哥们儿们有没有和我一样想学习JAVA的,最近我在私塾在线上看了很多经典的、很不错的关于JAVA的视频,如果遇到看不明白的地方,可以在他们论坛上讨论,他们的老师会上去解答。前几天我看到他们在搞个新的活动,”远程学习+地面冲刺=高薪就业“,远程学习一共252个小时,价格确实很诱人,单人报名是1200,团报是1000,虽说团报价格差不了多少,但是自己学太枯燥,想找朋友们一起学习,这样不仅可以相互学习,还可以互相交流交流嘛。你们也可以先去JAVA私塾上面了解了解,然后去看看他们的视频,觉得可以的话可以加我一起团报,我的QQ:1477861213
[解决办法]