java中为什么局部变量不能加上访问权限修饰符?

如题所述

定义在方法中的变量叫局部变量,局部变量的有效范围就是方法内,在局部变量中加上public,或者其他修饰符的话(编译都通不过),就破坏了局部变量的范围,可以说局部变量是为方法而生的。局部变量中的局部就已经说明了范围。反正我就是这么理解的。你可以自己想想
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-09
因为它只能在定义它的方法内部使用,加入权限修饰符没有意义
第2个回答  2015-11-05
既然是局部变量,顾名思义只能在局部使用;已经很明确的知道该变量使用的范围,你再加访问修饰符的意义在哪里???
你可以反过来想,如果可以,那就无疑是——脱裤子放屁,多此一举啦
第3个回答  推荐于2017-11-24
局部变量 本身就是 一个访问权限 的设定啊。 只能在局部调用。 这个就定死了。 你还想加 什么权限修饰??本回答被提问者采纳

java中,成员内部类的变量能不能用public等访问修饰符修饰?
Java语法上是可以的,成员变量可以用public、private、protected任何一个修饰。方法内部的局部变量只在方法内部可见,因此不能修饰。但在实践上,成员变量通常不允许使用public修饰符修饰,这主要是人为规定的编码规则,其目的在于隐藏类的实现细节,达到面向对象的封装的目的。从根本上说这种规定是为了防止类外...

局部变量可以定义私有修饰类型吗?
局部变量只在定义它的方法内部有效,并且不能使用private、protected和public等修饰符进行修饰,当局部变量所在的方法调用结束后,Java虚拟机将自动释放局部变量所占用的资源。

JAVA类的函数内定义private变量问题
private int i;加上了private 不会编译通过 错误是Illegal modifier for parameter i; only final is permitted 函数体内声明的变量只会在{}之内有效出了块是无效的

Java 访问修饰符详解
首先,对于普通类,访问修饰符不能是private,因为这将使其在其他类中不可见,无法使用,也无法被继承,这与类的初衷相悖。同样,protected被限制,因为Java缺乏子包概念,如果允许protected,会导致访问逻辑上的死锁,因此普通类通常仅限于包内访问和包外访问,public和default就足够了。内部类则不同,它们...

java接口里的变量不写访问修饰符默认的是什么修饰符?
接口里面默认的是public abstract。也正因为默认就是public abstract,所以一般建议就是在接口内直接写方法:void(根据返回值类型设置啊) 方法名 ();void methodname ();

访问权限是什么?其修饰符有几种?各修饰符的作用范围有哪些?
首先,private修饰符是访问权限最为严格的。被private修饰的资源只能在其所属的类内部被访问,其他任何类都无法直接访问。这种修饰符通常用于封装类的内部实现细节,以防止外部类误操作或破坏类的完整性。例如,在一个表示用户的类中,用户的密码信息就可以被设置为private,以确保其不会被外部类直接获取或...

Java基础:四种访问权限修饰符详解!
首先,public修饰符表示代码对外完全公开,任何类或对象都可以访问。这是最常用的权限,适用于需要对外共享的类、方法和变量。接下来是protected,它的访问范围仅限于同一包和子类。这意味着类的子类可以访问,而其他包中的类则受限。默认权限(或friendly)是Java中的默认访问级别,仅限于同包内的类,...

java 里面 为什么子类继承父类的时候class前面不能加访问修饰符public...
类(class)的修饰符只能是缺省,public, abstract , final 不能是private 在继承的时候要看父类是什么样的,如果父类是final的,那就不能用public修饰子类了 ,因为不能继承该类

一个java内部类有几个分类?
局部内部类:在方法体或语句块(包括方法、构造方法、局部块或静态初始化块)内部定义的类成为局部内部类。局部内部类不能加任何访问修饰符,因为它只对局部块有效。局部内部类只在方法体中有效,就想定义的局部变量一样,在定义的方法体外不能创建局部内部类的对象 在方法内部定义类时,应注意以下问题:...

java中出现Illegal modifier for parameter number; only final is per...
private int number[]=new int[1000];这句把private去掉,方法里声明方法不加访问修饰符。要么就把这句话放到方法的外面,但是要加static修饰才能直接引用了 reutrn语句最好放到try块的外面,要么就在catch里也加一个return null吧

相似回答