Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “关键字”是什么意思;“私人”;在班级层面上是私人的吗?_Java_Class_Private_Comparable - Fatal编程技术网

Java “关键字”是什么意思;“私人”;在班级层面上是私人的吗?

Java “关键字”是什么意思;“私人”;在班级层面上是私人的吗?,java,class,private,comparable,Java,Class,Private,Comparable,我正在阅读的一个来源说,关键字private意味着一个方法或变量在类级别是私有的,而不是对象级别 在一段代码中的意思如下: public class Weight2 implements Comparable<Weight2> { private int myPounds, myOunces; public Weight2() { myPounds = myOunces = 0; } public Weight2(int x, int y)

我正在阅读的一个来源说,关键字
private
意味着一个方法或变量在类级别是私有的,而不是对象级别

在一段代码中的意思如下:

public class Weight2 implements Comparable<Weight2>
{
   private int myPounds, myOunces;

   public Weight2()
   {
      myPounds = myOunces = 0;
   }
   public Weight2(int x, int y)
   {
      myPounds = x;
      myOunces = y; 
   }

   public int compareTo(Weight2 w)
   {
      if(myPounds<w.myPounds)
         return -1;
      if(myPounds>w.myPounds)
         return 1;
      if(myOunces<w.myOunces)
         return -1;
      if(myOunces>w.myOunces)
         return 1;
      return 0;
   }
}
public类Weight2实现了可比较的
{
私用英镑、人民币;
公众权重2()
{
myPounds=myOunces=0;
}
公共权重2(整数x,整数y)
{
我的磅=x;
myOunces=y;
}
公共整数比较(重量2 w)
{
如果(myPoundsw.myPounds)
返回1;
if(myOuncesw.myOunces)
返回1;
返回0;
}
}
Weight2对象可以访问不同Weight2对象的私有字段,而无需访问器方法。。。而是直接说
w.myPounds

澄清:

我想知道对象可以从哪里访问不同对象的私有数据。是不是只在班里?或者这可以通过驱动程序实现

我正在阅读的一份资料说,关键字private意味着一种方法或方法 变量在类级别是私有的,而不是在对象级别

我不知道你的消息来源。这没有错,但也不清楚。

您可以参考提供有关private修饰符信息的:

第六章。姓名

6.6.1。确定可访问性

。。。成员或构造函数声明为私有,访问权限为 当且仅当其发生在顶层主体内时才允许 类别(§7.6),包含成员声明或 构造器

关于:

所以我想问的是,相同类型的对象可以访问每个 没有访问器方法的其他用户的私有字段

的确如此

而且与规范相当一致。
它不限制仅对当前实例访问
private
成员。
因此,您可以认为此限制不存在,因此可以调用当前实例的代码> >私下<代码>或引用当前类的任何变量。 当然,在静态和实例上下文中也是如此。


作为旁注,您还应该考虑访问级别:类和实例。
private static
修饰符表示方法或变量在类级别是私有的。因此,您不需要任何实例来引用它。
private
修饰符(不带
static
修饰符)表示方法或变量在实例级别是私有的。 所以您需要一个实例来引用它


我正在阅读的一份资料说,关键字private意味着一种方法或方法 变量在类级别是私有的,而不是在对象级别

我不知道你的消息来源。这没有错,但也不清楚。

您可以参考提供有关private修饰符信息的:

第六章。姓名

6.6.1。确定可访问性

。。。成员或构造函数声明为私有,访问权限为 当且仅当其发生在顶层主体内时才允许 类别(§7.6),包含成员声明或 构造器

关于:

所以我想问的是,相同类型的对象可以访问每个 没有访问器方法的其他用户的私有字段

的确如此

而且与规范相当一致。
它不限制仅对当前实例访问
private
成员。
因此,您可以认为此限制不存在,因此可以调用当前实例的代码> >私下<代码>或引用当前类的任何变量。 当然,在静态和实例上下文中也是如此。


作为旁注,您还应该考虑访问级别:类和实例。
private static
修饰符表示方法或变量在类级别是私有的。因此,您不需要任何实例来引用它。
private
修饰符(不带
static
修饰符)表示方法或变量在实例级别是私有的。 所以您需要一个实例来引用它



不完全确定你的问题到底是什么。不过,我会给你一个基本的总结,我认为你想要什么

如果变量或方法是私有的,则只能在其所在的类中访问或使用它

如果变量或方法是公共的,则其他类可以访问它

看看这个网站吧,它可能会对你有所帮助,当然对我也有帮助


不完全确定你的问题到底是什么。不过,我会给你一个基本的总结,我认为你想要什么

如果变量或方法是私有的,则只能在其所在的类中访问或使用它

如果变量或方法是公共的,则其他类可以访问它

看看这个网站吧,它可能会对你有所帮助,当然对我也有帮助

所以我想问的是,相同类型的对象可以访问每个 没有访问器方法的其他用户的私有字段

是的,他们可以

Java中的访问修饰符是关于类的,而不是关于实例的。

所以我想问的是,相同类型的对象可以访问每个 没有访问器方法的其他用户的私有字段

是的,他们可以

Java中的访问修饰符是关于类的,而不是关于实例的。

我的问题的可能重复之处不是标签之间的差异。它是关于类中的
private
所包含的内容。。。你引用的线程中没有回答一个更技术性的细节。“说隐私是在类级别而不是对象级别给出的到底是什么意思?”这意味着“…相同类型的对象[可以]访问e