class A { int x=1; int y=1; A() { x=0;y=0; } A(int x1,int y1) {x=x1;y=y1;} void setX(int i) {x=i;} 5

classBextendsA{intx=2;floatz;B(){super(0,0);}B(intxx,intyy){this.x=xx;this.y=yy;}void... class B extends A
{int x=2;
float z;
B()
{super(0,0);}
B(int xx,int yy)
{this.x=xx;
this.y=yy;}
void setX()
{this.y=-1;}
void setY()
{this.y=-1;}
void out(){System.out.println("x="+x+"\ty="+y+"\tz="+z);
}}
public class PT
{public static void main(String[] args)
{A a1=new A(3,4);
a1.setX(6);
a1.out();
B b1=new B(1,2);
b1.setX(99);
b1.setY(-100);
b1.out();
A b2=new B(5,6);
b2.setX(12);
//b2.setY(0);
b2.out(); } }

为什么b1.setX(99);不起作用??
展开
 我来答
wang_is_king
2011-03-23
知道答主
回答量:21
采纳率:0%
帮助的人:3.1万
展开全部
写代码注意注释
class B extends A {
int x = 2;
float z;

B() {
super(0, 0);
}

B(int xx, int yy) {
x = xx;
y = yy;
}

void setX() {//这个方法并没有用到,不知有何作用你一直都用的父类的setX()
this.y = -1;
}

void setY(int y) {//你这里并没有传进参数为什么会有b1.setY(-100);这句改为setY(int y)
this.y = -1;
}

void out() {
System.out.println("x=" + x + "\ty=" + y + "\tz=" + z);
}
}
public class PT {
public static void main(String[] args)

{
A a1 = new A(3, 4);
a1.setX(6);
//a1.out();//在你的父类里并没有out()方法,父类不能继承子类的方法
B b1 = new B(1, 2);
b1.setX(99);//这里只调用的是父类的放法
b1.setY(-100);
b1.out();
A b2 = new B(5, 6);
b2.setX(12);
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式