2 dzq boyka Dzq_Boyka 于 2016.04.25 21:09 提问

java变量修饰符问题,大神来回答啊

如下图:为什么方法中的变量只能用final修饰?
图片说明

7个回答

q610098308
q610098308   2016.04.25 21:39
已采纳

1.方法内没有公有的,私有;全是局部变量;
2.公有,私有成员是针对类的;

你可以这么写
public class Test{
public int c = 0;
public int b = 0;
private a = 0;

    public void fun()
    {
        //这里面全是局部变量,方法运行完就,回收了;
            int a1 = 1;

    }

}

q610098308
q610098308 看这里,其实我对java 了解也不是太多,c/c++用的比较多。
一年多之前 回复
q610098308
q610098308 http://baike.baidu.com/link?url=otli5vH-lC6ng0YmSTP6SHIsnFbwrMCZLxLcd6Dt7Oz3k_kXeRGQPN1M9bXkNKok32dmBWMeFJXIOqZ62jlKSq
一年多之前 回复
Dzq_Boyka
Dzq_Boyka 嗯,谢,能讲一下,常量池就更好了
一年多之前 回复
Fire__Star
Fire__Star   2016.04.25 22:09

赞同3楼。首先:方法如果一运行完里面的所有变量都会被回收,但是除了final除外。你应该知道吧。final是保存在方法区常量池里面。不会随方法的调用
完成而消失。所以final修饰的普通方法变量是能通过编译的。第二点:但是你再反思一下。final修饰的变量在方法调用完后。是还能再用的。但是你如果
你在方法完后。你还想用public/private/static等修饰的普通方法变量,这还能用吗?显然不能。那你用public,private,static修饰变量也就没有意义了。
你应该懂吧?第三:public修饰是想在其他地方用。当static修饰方法时是想通过类名直接调用方法其中包括全局静态的变量。但你这个显然不能通过类名
查看吧。private修饰的全局变量是只能让本类用其他类不能用。但你觉得知道。如果普通方法里面定义了一个变量int a=10;其他方法还能用吗?显然不能
那private也就在这方法里面没有意义了。总结:private,static,public等在方法里面修饰变量是没有意义的,除了final;

weixin_39168541
weixin_39168541 赞一个,介绍的挺好
6 个月之前 回复
Fire__Star
Fire__Star 哎,楼主能懂就好
一年多之前 回复
Dzq_Boyka
Dzq_Boyka 辛苦,打这么多字!
一年多之前 回复
CSDNXIAOD
CSDNXIAOD   2016.04.27 14:22

java中有关“变量”内存分配问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

hcb9291
hcb9291   2016.04.25 21:20

这个问题我也不是很清楚,但是可以参考一下这个说法,java中的修饰符

Dzq_Boyka
Dzq_Boyka 嗯,谢兄弟,不过我想问的,不是修饰符这么简单
一年多之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2016.04.25 21:25

方法内不能用public private static修饰符

Dzq_Boyka
Dzq_Boyka
一年多之前 回复
xuandaijian
xuandaijian   2016.04.25 21:46

修饰符不是放在方法内的

Dzq_Boyka
Dzq_Boyka
一年多之前 回复
baidu_23086307
baidu_23086307   2016.04.25 22:34

一句话内部类想用外部类的变量,必final

baidu_23086307
baidu_23086307 哈哈哈,一起加油
一年多之前 回复
Dzq_Boyka
Dzq_Boyka 有道理
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!