Java中怎么对成员的变量进行隐藏

  介绍

这篇文章给大家介绍Java中怎么对成员的变量进行隐藏,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

<强>一,如果子类与父类中有一个相同名称的成员变量,那么子类的成员变量会不会覆盖父类的成员变量?我们看下在的例子:

公共类{
  公共int x=10;
  }
  
  
  公共B类扩展了{
  公共int x=20;
  }
  
  公共类C {
  公共静态void main (String [] args) {
  A=new ();
  System.out.println (a.x);//1
  B B=new ();
  System.out.println (b.x);//2
  
  System.out.println (((A) b)方式);//3
  }
  }

<>强运行C类的主方法的结果为:

10
20

10通过结果我们可以看出子类是不会覆盖父类的成员变量,我们eclipse的调试工具也能很清晰的看出在对像一个中同时存在两个x的成员变量(其中一个是父类的),如下图示:

癑ava中怎么对成员的变量进行隐藏"

通过第1个和第3个的结果,可以得出对像对于成员的直接访问是静态邦定的,官方解释如下:

在一个类中,子类中的成员变量如果和父类中的成员变量同名,那么即使他们类型不一样,只要名字一样。父类中的成员变量都会被隐藏。

在子类中,父类的成员变量不能被简单的用引用来访问。而是,必须从父类的引用获得父类被隐藏的成员变量,一般来说,我们不推荐隐藏成员变量,

因为这样会使代码变得难以阅读。

对于静态方法与成员变量类似,如下:

公共类{
  公共静态孔隙print () {
  System.out.println(“静态”);
  }
  }
  
  公共B类扩展了{
  公共静态孔隙print () {
  System.out.println (“B静态“);
  }
  
  }
  
  
  公共类C {
  公共静态void main (String [] args) {
  A=new ();
  a.print ();
  
  B B=new ();
  b.print ();
  ((一)b) .print ();
  
  
  }
  }

<>强结果如下:

静态
B静态
静态

关于Java中怎么对成员的变量进行隐藏就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

Java中怎么对成员的变量进行隐藏