java private和static放在一起该怎么理解?

今天看到一句privatefinalstaticXPathFactoryfactory=XPathFactory.newInstance();private私有,stat... 今天看到一句private final static XPathFactory factory=XPathFactory.newInstance();
private私有,static公有,放在一起不知怎么理解
展开
 我来答
杨氏易学命理
2019-09-07 · TA获得超过4109个赞
知道小有建树答主
回答量:593
采纳率:85%
帮助的人:127万
展开全部
刚刚和同事研究了一下,就来回答回答吧。
首先你的思想上有一个误区,认为static是存放在方法区里面是共享的。
这是不对的,你要去了解一下JVM运行时各个数据区的作用,private、public、protect、default这一类访问权限修饰符才是控制是不是共享的方法的。
实际上你要把private 和 static 分开来理解;
static的作用是JVM初始化的时候的时候把变量加载进来的一个作用,让对象在运行的时候不需要在实例化就可以使用,因为在JVM初始化的时候就已经实例化过了,这才是static的作用。
而private、puiblic、protect这一类的修饰符才是限制使用范围。
理解之后意义就清晰了,意思就是private static只有自己能使用这个jvm启动的时候就加载进来的方法或者变量。
不知道你理解了没。
LMLU23
2014-08-18 · TA获得超过901个赞
知道小有建树答主
回答量:373
采纳率:0%
帮助的人:358万
展开全部
static不是公有,是静态方法的意思。就是可以直接使用类名.方法名进行调用的方法。
更多追问追答
追问
private 作用在本类,而静态可以通过类名在任何地方调,不是矛盾了
追答
哦,我搞错了,这里修饰的是变量factory不是方法,也是静态的意思,就是这个变量在这个类的所有实例里共享为一个,private代表是私有变量,只有这个类的实例内部能够访问,final是代表这个变量一旦被初始化,就不能更改了。final static同时修饰一个变量的时候,也可以认为是一个常量,只是实现的方式和真正意义的常量有点区别而已。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帅气的莉大爷
推荐于2017-10-12 · TA获得超过2567个赞
知道小有建树答主
回答量:2643
采纳率:5%
帮助的人:697万
展开全部
java程序中只有变量用private定义的,此变量就只能在当前的类中使用。
java程序中只有变量用static定义的,此变量就能直接被虚拟机识别,可直接在main函数中调用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chencjm126
2014-08-18 · 超过10用户采纳过TA的回答
知道答主
回答量:28
采纳率:0%
帮助的人:14万
展开全部
static不是共有,是指静态的, public是公有的,这些关键字的作用还是要记一下的,最好能自己写个简单的例子测试下,能加深印象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
南土民0V
2014-08-18 · TA获得超过275个赞
知道小有建树答主
回答量:718
采纳率:46%
帮助的人:136万
展开全部
static 不对,是指静态的
final 是常量的意思,就是不会改变
private 私有
public 公用
default 默认
product 受保护
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式