java子类调用父类成员变量吗_JAVA中子类引用父类成员变量

packageChapter4;abstractclassShape{abstractvoidGetArea();abstractvoidGetPerim();}classRectangleextendsShape{privatedoublechang;privatedoublekuan;Rectangle(doublea,doubleb...

package Chapter4;

abstract class Shape{

abstract void GetArea();

abstract void GetPerim();

}

class Rectangle extends Shape{

private double chang;

private double kuan;

Rectangle(double a,double b){

chang=a;

kuan=b;

}

void GetArea(){

System.out.println("该矩形的面积是: "+(chang*kuan));

}

void GetPerim(){

System.out.println("该矩形的周长是: "+2*(chang+kuan));

}

}

class Circle extends Shape{

private double R;

final static double PI=3.14;

Circle(double a){

R=a;

}

void GetArea(){

System.out.println("该Circle的面积是: "+(R*R*PI));

}

void GetPerim(){

System.out.println("该Circle的周长是: "+2*R*PI);

}

}

class Square extends Rectangle{

Square(double a){

super(a,a); // 疑问处!

}

}

public class example3 {

public static void main(String args[]){

Shape s=new Circle(2.0);

s.GetArea();

Shape s1=new Rectangle(2,3);

s1.GetArea();

Rectangle s2=new Square(2);

s2.GetArea();

}

}

对应疑问处 将super(a,a)改成

super.chang=a;

super.kuan=a;

为什么会运行不正确呢??

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值