class Point{ protected int x,y; public Point(){} public Point(int xx,int yy){setPoint(xx,yy);}
public void setPoint(int m,int n){x=m;y=n;}
public int getX(){return x;}
public int getY(){return y;}}
class Circle extends point{
private double radius;
public Circle(int x,int y,double r){this.x=x;this.y=y;steRadius(r);}
public void setRadius(double r){radius=r;}
public double getRadius(){retuen radius;}
public double getArea(){retuen 3.1415*radius*radius;}
public String toString()
{
retuen Poistion(+x+,+y+)Radius=radius;}}
public class CircleTest
{
public static void main(String args[]){
Circle c=new Circle(50,50,10);
System.out.prinrln(c.toString());
c.setPoint(100,100);
c.setRadius(20);
System.out.println(c.toString());
}}
1:父类的public Point(){}构造方法为什么不能省略,它是初始化谁的?
2:父类的public Point(int xx,int yy){setPoint(xx,yy);}构造方法是初始化谁的?为什么形参是(xx,yy)而不是(g,h)?
class Point{ protected int x,y; public Point(){} public Poin
答案:1 悬赏:70 手机版
解决时间 2021-04-19 08:20
- 提问者网友:我一贱你就笑
- 2021-04-19 05:06
最佳答案
- 五星知识达人网友:猎心人
- 2021-04-19 05:54
1.子类构造函数一般要调用父类的构造函数;当子类没有显式调用时,默认调用父类的无参构造函数,此时要是没有父类的无参构造函数,会出错.
2.父类的public Point(int xx,int yy){setPoint(xx,yy);}是设置成员变量x,y的值,形参是什么无所谓
不建议构造函数这样写;一般应该这样写:
public Point (int x,int y) { this.x=x; this.y=y }
public setX (int x) { this.x=x; }
public setY( int y) { this.y=y; }
public int getX() { return this.x; }
public int getY() { return this.y; }
再问: 谢谢啊,在问一下,:父类的public Point(int xx,int yy){setPoint(xx,yy);}构造方法是初始化谁的?,后面是不是没用到这句段语句?而且父类的puclic Point(){}好像也没有实例化对象吧?是不是仅仅作为子类的一个无参构造方法呢?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯