该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请看以下程序,定义了圆形类Circle,其中的变量用private修饰,然后圆柱类Cylinder继承Circle类,圆柱类中并没有声明半径等变量,但是最后正常输出结果了(请注意我创建实例的时候是以圆柱类创建的),如果private修饰的半径不能被继承,为什么能输出正确结果???????莫非private变量可继承?
package cylinder;
class Circle{
final static double PI=3.1415;
private int radius;
private float circleArea;
private float perimeter;
double circleArea(){
return PI*radius*radius;
}
double perimeter(){
return PI*radius*2;
}
Circle(int rad){
this.radius=rad;
}
}
public class Cylinder extends Circle{
private float h;
Cylinder(int rad,int h){
super(rad);
this.h=h;
}
double getArea(){
return this.perimeter()*h;
}
double getVolume(){
return this.circleArea()*h;
}
public static void main(String[] args) {
Cylinder cyl=new Cylinder(5,10);
System.out.println("Area is "+cyl.getArea());
System.out.println("Volume is "+cyl.getVolume());
}
}