class Point{ protected int x,y; public Point(){} public Poin

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)?
dieeqo 1年前 已收到1个回答 举报

draft草稿 花朵

共回答了19个问题采纳率:89.5% 举报

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; }

1年前 追问

8

dieeqo 举报

谢谢啊,在问一下,:父类的public Point(int xx,int yy){setPoint(xx,yy);}构造方法是初始化谁的?,后面是不是没用到这句段语句?而且父类的puclic Point(){}好像也没有实例化对象吧?是不是仅仅作为子类的一个无参构造方法呢?
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.021 s. - webmaster@yulucn.com