接口多态性
interface Scaleable {
double area();
void scale(double proportion);
}
class Circle implements Scaleable
{
private double radius;
public Circle(double radius)
{
this.radius=radius;
}
public void setRadius(double radius)
{
this.radius=radius;
}
public double getRadius()
{
return radius;
}
public double area()
{
return Math.PI*radius*radius;
}
public void scale(double proportion) // 放缩圆的方法
{
setRadius(proportion*getRadius());
}
}
public class Test11
{
public static void main(String args[])
{
Scaleable s=new Circle(10);
s.scale(2);
s.getRadius(); // 为什么不能用接口引用访问Circle的getRadius()方法呢???
System.out.println(s.area()+"放缩后的半径是:"+s.getRadius()); // 通过接口引用访问对象所在类的方法,scale(),area()都可以被访问,为什么getRadius()就不能被访问呢
}
}