我有2个问题,希望得到你们的解答!
1.对于java的类里面的public方法,这方法里面的变量或者变量好像都不能用权限修饰,为什么呢?我试了一下,不能加private,public , protected 这是为什么呢?
如果都不加,不就是默认的default修饰了吗?
为什么我在变量前面,手动加上default也会报错呢?2.在类里面的成员变量,可以不写任何的权限修饰符,那就是默认是default ,那为什么我手动的在变量前面加上default,会报错呢???

解决方案 »

  1.   

    1. 方法内部定义的仅仅是局部变量,只有这个方法体内部才可以使用,不存在private,public , protected的权限问题,只有成员变量(这个类的)才可以用这样的修饰符。2. 不能加的,默认是package权限,最好是根据自身情况,加上private,public , protected。
      

  2.   

    1.方法里面声明的变量都是局部的,你加权限修饰符干嘛?
    2.default只是一种说法,当一个类的成员前面没有任何访问权限修饰符修饰时,我们就说它是default权限,并不是真有default修饰符。
      

  3.   

    java里面的保留关键字default是用在switch语句里面的,而默认的成员变量权限和这个关键字是两个不同的概念,没有写修饰符就是default权限(但不存在default这样的权限修饰符)。
      

  4.   

    1、public是用来修饰类,方法、类变量、成员变量的,方法里面定义的是局部变量,只有在方法内部有效,本身是有作用域限制的,不能使用访问修饰符。2、访问修饰符里面没有default这个关键字,不写的情况称为“缺省",不叫“默认”,作用域在package范围内。