Topic: 关于成员变量访问控制的问题(protect 、default) |
Print this page |
1.关于成员变量访问控制的问题(protect 、default) | Copy to clipboard |
Posted by: 笨笨猪 Posted on: 2008-05-27 16:11 //AccessVar.java中变量访问权限的问题 class PrivateVar { private int var1 = 10; int var2 = 20; public int getVar1() { return var1; } public int getVar2() { return var2; } } class PublicVar extends PrivateVar { public int var3 = 30; var2 = var2 + 1000 ; /*public void addVar2() { var2 = var2 + 5; } */ } 为什么上面的程序中注释的部分可以对var2直接引用,而var2 = var2 + 1000 ;却不可以呢? //UseAcessVar如下 public class UseAcessVar { public static void main( String args[]) { PrivateVar privateVar = new PrivateVar(); PublicVar publicVar = new PublicVar(); System.out.println("privateVar 变量 var1 =" +(privateVar.getVar1()+3)); System.out.println("privateVar 变量 var2 =" +privateVar.getVar2()); //System.out.println("publicVar 变量 var3 = " // +publicVar.var3); System.out.println("publicVar 变量 var1 = " +publicVar.getVar1()); publicVar.addVar2(); System.out.println("publicVar 变量 var2 = " +publicVar.getVar2()); } } |
2.Re:关于成员变量访问控制的问题(protect 、default) [Re: 笨笨猪] | Copy to clipboard |
Posted by: Joffeec Posted on: 2008-05-27 18:44 在PrivateVar类中var2的访问权限没有说明 而在java中的默认访问权限并不是private(这跟C++不同) 应该是protected,你可以在同一个包的任何一个类访问到它的。 PublicVar 类继承了PrivateVar 所以在PublicVar类中的方法addVar2()可以访问到var2 而要改变var的值(var2 = var2 +1000)只能在方法里面 要不然得把var2 = var2 + 1000改为 int var4 = var2 + 1000; 就可以 |
3.Re:关于成员变量访问控制的问题(protect 、default) [Re: 笨笨猪] | Copy to clipboard |
Posted by: 笨笨猪 Posted on: 2008-05-30 09:41 万分感谢!!! |
4.Re:关于成员变量访问控制的问题(protect 、default) [Re: 笨笨猪] | Copy to clipboard |
Posted by: 笨笨猪 Posted on: 2008-05-30 09:43 万分感谢!!! |
5.Re:关于成员变量访问控制的问题(protect 、default) [Re: Joffeec] | Copy to clipboard |
Posted by: JiafanZhou Posted on: 2008-05-30 16:12 Joffeec wrote: 这个是错的,默认的访问权限不是protected,而是package. package不类似protected可以在子类有访问权限。 |
6.Re:关于成员变量访问控制的问题(protect 、default) [Re: HenryShanley] | Copy to clipboard |
Posted by: Joffeec Posted on: 2008-06-29 15:58 HenryShanley wrote: 谢谢版主!!我是在阅读到你对”关于Java里变量的访问权限问题 “http://www.cjsdn.net/post/view?bid=1&id=191443&sty=1&tpg=9&age=0的回复时才想起我好像在这里的回复错了,就赶紧回来修改,希望不会误导楼主……没有想到我回头来看时版主已经帮我指出错误了。。再次谢谢版主!!! |
7.Re:关于成员变量访问控制的问题(protect 、default) [Re: 笨笨猪] | Copy to clipboard |
Posted by: JiafanZhou Posted on: 2008-06-30 15:36 No problem at all. |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |