我晕. to: xq_zz() 说话稍微负点责任啊绝对不能被继承,在c++和java里面都一样啊。在没一本书上都是这么写的~~~~c++和java一样,私有的只是代表子类不能直接去用而已,不是说没有继承,在C++/java中应该是子类有父类的一切,包括构造函数,只是你不能直接去用罢了. 所以,子类实例化时在内存确实开辟了空间存储父类的private变量。这个是显然的
补充一点,相信可以结贴了。楼主说的是正确的。这里我找了《JAVA IN A NUTSHELL》第4版里的3。5。1。4的2段。在这两段里说“子类不能继承父类的不可访问的变量或者方法。就象PRIVATE的类型。 但是这是在语义上这么理解,实际情况是子类在内存中完全使用一个父类,包括父类的所有信息,只是不能访问那些不能访问的。”就是楼上很多人说的。
即使开辟,你是在其父类中开辟的,
子类只能通过父类访问
子类里有一个句柄指向它的父类.
用图形化debug时可清楚看见.
to: xq_zz() 说话稍微负点责任啊绝对不能被继承,在c++和java里面都一样啊。在没一本书上都是这么写的~~~~c++和java一样,私有的只是代表子类不能直接去用而已,不是说没有继承,在C++/java中应该是子类有父类的一切,包括构造函数,只是你不能直接去用罢了.
所以,子类实例化时在内存确实开辟了空间存储父类的private变量。这个是显然的
但是这是在语义上这么理解,实际情况是子类在内存中完全使用一个父类,包括父类的所有信息,只是不能访问那些不能访问的。”就是楼上很多人说的。