访问修饰符修饰问题
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 可以修饰类 老师你看一下我的问题,还有我的理解哪里问题。
11
收起
正在回答
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. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星