Java变量声明的区别

如下:在一个类里面声明如下三个成员变量:privateinta=10;staticintb=11;privatestaticintc=12;现在我想请教各位大侠变量a、b... 如下:
在一个类里面声明如下三个成员变量:
private int a=10;
static int b=11;
private static int c=12;
现在我想请教各位大侠变量a、b、c之间的区别?最好谈谈实际运用中a、b、c之间的细微差别,比如在什么情况下可以引用a而不能引用b。
展开
 我来答
Leaving7
推荐于2016-01-27 · TA获得超过123个赞
知道答主
回答量:66
采纳率:0%
帮助的人:87.9万
展开全部
a:这个类中的非静态方法才可以引用,而作用范围只限于这个类的生命周期(从类被实例化到类被回收)。

b:这个类所在的包中所有类的所有方法都可以引用,作用范围从整个应用程序开始到结束。

c:只有这个类的方法可以引用,作用范围也是整个应用程序。

其中a和c的区别在于作用范围,变量c(静态变量)是与对象无关的。在一个对象中改变c的值,其他对象中c的值也会跟着改变。。

b和c的区别在于访问权限。变量c只有这个类的方法可以引用,而变量b是包访问权限,与类在同一包下的所有其他类都可以通过类名.b引用。
乁Freedom
2010-04-14 · TA获得超过2128个赞
知道小有建树答主
回答量:1580
采纳率:0%
帮助的人:1413万
展开全部
首先是有static和没有static的区别
这两个区别最明显不过了,有static的就是类所有的,并不是对象所有的,如果你有面向对象的概念那这个应该是很清楚的,没有static的,每创建一个对象a都会创建一个副本给这个对象独占,如果有static的变量就是类所有的,也就是所有对象共享的

有private和没有private的区别,这个不算什么区别,类似private public protected都是访问权限,如果没有指明访问权限那么默认是包权限,不懂权限的看书去,书上有说明
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
198901245631
推荐于2016-08-25 · TA获得超过3.5万个赞
知道大有可为答主
回答量:9037
采纳率:92%
帮助的人:1737万
展开全部
声明变量的形式主要是:
第一种:声明后直接赋值。
String str = new String("asd");这个就是先创建了一个字符串类型,之后声明str的类型为字符串并进行赋值“asd”。
第二种:声明变量但不定义具体的参数。
BufferedReader bre = null;这个就是先定义了流的读取对象,但是没有进行赋值,后续进行赋值。
备注:以上两种方法中第二种更灵活一些,因为在实际java开发过程中通常程序的运行过程报错与否无法知道,先定义好,之后在进行重新赋值,可以有效的避免方法参数无法在方法外面获取到的情况。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tsx718
2010-04-14 · TA获得超过1613个赞
知道小有建树答主
回答量:668
采纳率:0%
帮助的人:604万
展开全部
第一个变量(从上到下)a 定义为私有的非静态的 int类型, 说明要使用这个属性,必须创建该类对象 然后用这个类对象的引用去调用a 或者给这个变量a公有的get set方法 这样用引用调方法是比较规范的例如
class Test{
private int a = 10;

public int getA(){
return a;
}
public void setA(int a){
this.a = a;
}
public static void main(String[] s){
Test t = new Test();
t.setA(5);
System.out.println(t.getA());
}
}
也就是说 如果声明私有 外部类想调用这个属性必须 实例化Test类对象,然后用对象引用点方法才可以 本类中可以直接调用 但是必须在非静态方法中,比如main函数 他是静态方法所以无法直接调用a

第二个 static int b 说明这个属性是默认 就是比private高一级 是个静态变量,所以在静态方法或者非静态方法中可以直接this.b 或者直接 b=**

第三个 声明为私有的静态的 道理一样 是否加private无非是对访问权限的注释而已 从宽限到窄限 public protected 默认就是不做任何声明 private 这四种你可以直接在网上看下四种声明的 权限控制 我就不一一复制了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式