第九章 面向对象的编程
1.Java不支持多重继续(像在C++语言中那样),但它支持“接口”概念。接口使java获得了多重继续的许多优点,屏弃了相应的缺点。
2.子类可以访问其超类的public,protected和超类的包访问成员(即无权限修饰符的成员,且和它的超类在同一个包中),假如超类不答应通过继续的方式产生的子类访问它的某些成员,那么它必须以private方式声明该成员。超类的public,protected成员将成为子类的public,protected成员。子类不能继续超类的构造函数但子类的构造函数可以通过super引用来调用超类的构造函数。
3.对访问protected成员的保护限制介于对访问public成员的保护限制和对访问private成员的保护限制之间。只有超类的方法、子类的方法以及同一个包内的其他类的方法,才能访问超类的protected成员(protected成员可以进行包访问)。
4.实例分析
1)源代码
//超类Point2的定义point2.java
package Point;
public class Point2 {
protected int x,y;
//no-argument constrUCtor,mast be included in the superclass,or will incur the compile error;
public Point2() {
setPoint(0,0);
}
//constructor
public Point2(int a,int b)
{ setPoint(a,b);}
public void setPoint(int a,int b)
{x=a;y=b;}
public int getX()
{return x;}
public int getY()
{return y;}
public String toString()
{return "["+x+","+y+"]";}
}
//子类Circle2的定义;circle2.java
package Point;