大家好!我想问的问题是:
父类中的构造方法使用protected 或者public 修饰,子类使用super引用父类的构造函数,这两种情况有什么不同么?
不好意思,上面我说错了,应该是有区别的,
如果类A 用protected修饰构造函数,那么当你其他类C(这个类C与类A不在同一包中)访问这个方法时,即new A,或new A的子类,这样是不行的,会找不到这个protected构造函数,只有C类,和A类同在一个包时,才可以找得到。
如果A类用public 修饰构造函数的话,就没这样的限制。及时C类和A类不在同一包中也可以访问。应该是这样,如果有什么不对,请大家指正
protected 表示只能是子类使用
public 表示可以是任何类都可以使用的构造。
应该没有什么不同,因为父类的protected方法,子类是可以调用的,public就更不用说了,只要是父类对象和子类对象都可以调用
protected:只能是子类使用,因为是构造方法,这代表什么呢?A类构造方法是用来创建对象时被调用的。那代表如果你使用protected做构造方法(没有其他public构造的前提下),只有继承了这个类的类(就是子类)才可以通过new创建这个A类的实例。
public:任何类都可以用new创建A类的对象。
建议:楼主可以看一下SCJP的资料,考证可以不考,可是里面的知识对扎基础还是很好滴~~
加勒个油啊~! :arrow: