在Java中成员变量为什么要设为private 变量?

[JAVA] private类中的方法如果声明为public,是否能被访问?
不能被访问,你试试就知道了
其他答案(共2个回答)
这是不严谨么?这个是人性化的结果,比较长的数组都会这么定义int[] aaa = {1,2,3,4,5,};这样定义,看起来比较清楚,特别是String数组的时...
首先,A选项,++i 和i++的值将会变化,后一个比前一个要大1;B选项,i的值都变化了,肯定会影响的;C选项直接将方法改成了私有的,则调用就要使用反射机制或者...
很显然是D在第八行执行完之后,此时在5行生成的o已经没有任何引用了,因为第八行将对象自身的o属性设置为null,不在引用任何对象了,因此在5行生成的o就具备了回...
包级别 public 表示所有包都可以访问 公开的
Dim是局部变量Public是全局变量
答: 请教从维也纳到布拉格中途在Breclav换乘的问题
答: 这个要设计到JNI的开发,就是用Java来调用C语言的函数库,还要编写缓冲器来解决传输问题,还有就是网络协议一定要了解,做的时候要用多线程来控制你所有的缓冲器,...
答: 所谓的网络编程,不论c还是java,本质上都是通过socket进行数据传输;一般情况下可以使用的传输协议有tcp、udp、ftp等等,这些协议为网络变成提供基本...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:java中成员变量和局部变量的区别 - 凯撒帝 - 博客园
转自:.cn/s/blog_00qt42.html
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
先看下面两段程序:
程序一:public
class Variable{void test(){&& int
j=8;&& if(j==i)&&& System.out.println("相等");&& else&&& System.out.println("不相等");}public static void
main(String[] args){&& Variable v=new Variable();&& v.test();}}
程序二:public
class Variable{&& void test(){&& int
i;&& int j=8;&& if(j==i)&&& System.out.println("相等");&& else&&& System.out.println("不相等");}public static void
main(String[] args){&& Variable v=new Variable();&& v.test();}}
----------------------------------------------------------------------------------------------------------
第一个程序很正常,编译时不会出错。第二个程序编译时会提示如下错误:
D:\Program\java\test&javac Variable.javaVariable.java:9: 可能尚未初始化变量 i&&&&&&&&&&&&&&&
if(j==i)&&&&&&&&&&&&&&&&&&&&&
之所以会出现这样的错误是因为:成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值
===========================================================
类体分为两部分。变量定义部分所定义的变量被称为类的成员变量,在方法体中定义的变量和方法的参数都被称为局部变量
java中成员变量和局部变量的区别
1.成员变量可以被public,protect,private,static等修饰符修饰,而局部变量不能被控制修饰符及static修饰;两者都可以定义成final型
2.成员变量存储在堆,局部变量存储在栈
3.存在时间不同
4.成员变量有默认值,(被final修饰且没有static的必须显式赋值),局部变量不会自动赋值-------------------------------------------------------------------------------------------------------------
顾名思意了什么是局部,方法内部,块内部都是局部,执行指令退出那个局部,局部变量自动清除比如方法中,不用说块中{  int i=0; //这是一个局部变量,它的作用范围就在其中 }成员变量就会涉及到谁的成员,类的成员?实例的成员?class A{int i=0; //实例的成员static j=1;//类的成员}static 的差别,是否依赖于实例而存在----------------------------------------------------------------------------------------------------------
成员变量:作为类的成员而存在,直接存在于类中。
局部变量:作为方法或语句块的成员而存在,存在于方法的参数列表和方法定义中。
局部变量在使用前必须被程序员主动的初始化,和此形成对比,系统中的成员变量则会被系统提供一个默认的初始值。所以在语法上,类的成员变量能够定义后直接使用,而局部变量在定义后先要赋初值,然后才能使用。
所有类的成员变量可以通过this来引用。成员变量又分成俩中类型:实例变量和静态变量。静态变量在定义时要使用static关键字。
随笔 - 105java多线程中共享变量是不是一定要private修饰?
为什么共享变量一定要是private修饰呢?
写下你的评论...
写下你的评论...
Copyright (C)
All Rights Reserved | 京ICP备 号-2java中public,private,protected,(default)关键字 - 吴渣渣的博客 - CSDN博客
java中public,private,protected,(default)关键字
Java基础知识
开发内部项目或者单独模块(非公共模块)时,对访问权限的修饰符的使用可能不是很注意,但在公共代码的书写或者是sdk一类的开发,访问修饰符就显得比较重要了。下面对public,protected,default,private的理解,提供方法:
1. 如果涉及到包之间的业务逻辑的调用,考虑public修饰类,属性。
2. 如果涉及到同包下类之间的调用或者需要提供继承复写扩展的业务方法,考虑使用protected修饰。
3. 如果只想在同包下使用且不想继承复写,我们考虑默认default(不写修饰符)即可。
4. 如果只想类内部调用,那就可以使用private。
alibaba的规范手册
20.【推荐】类成员与方法访问控制从严:
如果不允许外部直接通过 new 来创建对象,那么构造方法必须是 private。
工具类不允许有 public 或 default 构造方法。
类非 static 成员变量并且与子类共享,必须是 protected。
类非 static 成员变量并且仅在本类使用,必须是 private。
类 static 成员变量如果仅在本类使用,必须是 private。
若是 static 成员变量,必须考虑是否为 final。
类成员方法只供类内部调用,必须是 private。
类成员方法只对继承类公开,那么限制为 protected。
说明: 任何类、方法、参数、变量,严控访问范围。过宽泛的访问范围,不利于模块解耦。思考:如果是一个 private 的方法,想删除就删除,可是一个 public 的 Service 方法,或者一个 public 的成员变量,删除一下,不得手心冒点汗吗? 变量像自己的小孩,尽量在自己的视线内,变量作用域太大,如果无限制的到处跑,那么你会担心的。
我的热门文章
即使是一小步也想与你分享}

我要回帖

更多关于 private 类 变量 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信