声明一个类,可使用的权限修饰符为什么不能用protected和privatr
这是java语法的规定,类的修饰符号有:public 公共类;default 默认包内访问权限(即class前什么都不假);abstract 抽象类; fanal 不能被继承的类; static 静态类; private 只能修饰内部类,一般不推荐使用。
私有的类,不能用,有何意义?
公开的可以调用,私有的只能在本类中使用
敢问亲说的可是Java?如果是,我感觉我找到的这个答案比较适合你:
对于顶级类(外部类)来说,只有两种修饰符:public和默认(default)。因为外部类的上一单元是包,所以外部类只有两个作用域:同包,任何位置。因此,只需要两种控制权限:包控制权限和公开访问权限,也就对应两种控制修饰符:public和默认(default)。
如果类使用了private修饰符,说明是个内部类。内部类的上一级是外部类,那么对应的有四种访问控制修饰符:本类(private),同包(default),父子类(protected),任何位置(public)。
当一个内部类使用了private修饰后,只能在该类的外部类内部使用。
如果你问的是java 我想这道题考的初衷应该是说的最普遍的类,及第一种说法!如果是内部类的话应该会特殊强调!就像当初我学习c++时考试题中有问到 构造函数能不能声明成私有的一样!(后来学了点设计模式后,知道其实单例模式中,构造器是要声明成私有的的)...
如果没有特殊强调,一般问的都是正常情况下!!!
你可以想一下:一个java项目是不可能在一个class里面完成的。mvc模式中,是把类分为三层,一层层调用类。如果定义为私有的和受保护的就无法调用。至于是否报错,倒是没有试过。学的时候只处于接收状态。lz不一般!
类是用来调用的,定义成protect或者private就外面调用不了了,就没有意义了。