在Java中,记忆方面是否会使用私有vs公共?

时间:2015-06-23 18:43:12

标签: java memory private public access-modifiers

我们可以说我可以同时使用私人或公共方式,但我选择之间并没有任何区别。

对于内存使用哪一个更好?为什么?

3 个答案:

答案 0 :(得分:3)

  

不,访问修饰符对运行时内存利用率没有影响   Java或PHP,或者我听说过的任何其他语言。   由于访问,代码大小可能会增加几个字节   某些字节码中的修饰符取决于它们的编码方式。您的   在此之前,计划必须在其他方面具有极高的效率   值得担心的。

来自this回答

答案 1 :(得分:2)

不,在类中,public或private的属性修饰符不会改变内存占用。

为项目预留的字节数与内存中类型(int,long等)的大小有关。

修饰符仅限制了在类外无法访问内存地址的事实(在私有的情况下)。

所以如果你有一个类:

class Point
{
     private int x;
     public int y;
}

这两个变量在访问时都采用相同的字节数。 但是要访问y,您可以执行以下操作:

Point p = new Point();
p.y = 55;

但是,你不能用x来做,因为它是私有的。

您可以从类中的代码中访问x,如下所示。

class Point
{
     private int x;
     public int y;
     public Point ()
     {
            // this is the contstructor but other member functions woud
            // work too
            this.x = 77;
            // or 
            x = 77;
     }
}

答案 2 :(得分:1)

这些是访问修饰符。记忆方式(RAM)没有,没有区别。 static关键字不会发生这种情况。使用static可以将对象保留在内存中。