【问题标题】:what is the default access modifer for java command line arguments [closed]java命令行参数的默认访问修饰符是什么[关闭]
【发布时间】:2013-06-06 10:02:41
【问题描述】:

换句话说,使用

main(String args[]) {
} 

args[] 是公开的、受保护的还是私有的?

谢谢

【问题讨论】:

  • 是方法参数。它的范围仅限于main
  • 以上都不是。参数没有访问修饰符。不是一个真正的问题。

标签: java command-line-arguments


【解决方案1】:

args[] 是函数的参数(即main),访问修饰符不适用于参数。

参数对于它们被传递的函数总是本地的(这意味着它们的范围是函数的主体)。

访问修饰符适用于所有类成员,包括嵌套类、枚举和接口。

public static void main(String [] args) ... 

其中public 是方法main 的修饰符

【讨论】:

  • 基本正确,但“访问修饰符仅适用于类属性和方法。” 是错误的。访问修饰符适用于所有类成员,包括嵌套类、枚举和接口。包成员(顶级类、接口和枚举)也可以使用public 访问权限声明或保留默认(包私有)访问权限。请参阅Java Language Specification, §6.6
  • 谢谢@TedHopp,我已经编辑了答案,希望现在准确
【解决方案2】:

方法参数本质上是方法局部变量;他们没有可访问性。

【讨论】:

    猜你喜欢
    • 2013-04-16
    • 2014-03-27
    • 2011-02-01
    • 2014-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    相关资源
    最近更新 更多