今天看了一段视频讲的是java里面关于继承之后,类所占的内存大小的问题。
即一个类有
class A
{
public int i;
protected int j;
private int k;
}
然后
class B extends A
{
}
这个时候B类占多大的内存。我看了很多帖子,但是没有实验出来,视频里面想表达的是:私有的属性不会被继承,这是公认,但是子类的内存到底是多大???
我不知道java里面怎么求sizeof(B) 然后用c++的代码试了一下
#include <iostream>
using namespace std;
class A
{
public: int i;
protected: int j;
private: int k;
};
class B :A
{
};
int main()
{
cout << sizeof(B) << endl;
getchar();
return 0;
}
结果是12
有了这个结果,我暂时的理解是:关于设计类的时候,不能乱继承,这样一个一个的继承下去,那么子类的大小会变的很大很大,所以设计类的时候要深思熟虑。
推荐励志名言2句:
一个国王永远不应该离开他的王国
我不停的奔跑,只为追赶那个曾被寄予厚望的自己