访问修饰符修饰问题

访问修饰符修饰问题

class Xun {
    private int a = 1;
    int a2 = 1;
    protected int a3 = 1;
    public int a4 = 1;
}
老师我刚才试了一下 只有默认的和public 才能修饰类,protected和 private修饰类的时候报错,
Illegal modifier for the class Xun; only public, abstract & final are permitted:
类Cat的非法修饰符;只允许公开,抽象和最终
1. 编译器提示说类只允许 public  abstract 和 fianl 修饰,那默认的呢 ? 
   
2. 还有就是我上面代码中,private protected  public 都可以修饰成员变量,那 没有任何修饰符
   修饰的 int  a2 = 1, 我能理解为 这也是被 默认修饰符修饰嘛?

3. 只有 public 、默认 、 abstract 和 fianl  可以修饰类

老师你看一下我的问题,还有我的理解哪里问题。


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,1、关于类的修饰符:

  class不加修饰符的时候 即直接声明 class Xun{ },在这种情况下,class前面没有加任何的访问修饰符,通常称为“默认访问模式”,此时这个类只能被同一个包中的类访问或引用,这一访问特性又称包访问性。

  类修饰符-->只有  public(访问控制符),将一个类声明为公共类

                          abstract,将一个类声明为抽象类

                        final,将一个类声明为最终(即非继承类)

2、private protected  public 都可以修饰成员变量,而没有任何修饰符修饰的 int  a2 = 1;就是默认修饰符default修饰,在成员变量的修饰中default  int  a2=1;等价于int  a2=1;

3、第三点同学的理解很正确,只有 public 、默认 、 abstract 和 fianl  可以修饰类,在类的修饰符中,默认就是不加任何修饰符。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师