首页 > 试题广场 >

关于 访问权限说法正确 的是 ? ( )

[单选题]

关于访问权限说法正确 的是 ( )


  • 外部类前面可以修饰public,protected和private
  • 成员内部类前面可以修饰public,protected和private
  • 局部内部类前面可以修饰public,protected和private
  • 以上说法都不正确

 

private

default

protected

public

同一个类中

同一个包中

 

子类中

 

 

全局范围内

 

 

 

1 )对于外部类而言,它也可以使用访问控制符修饰,但外部类只能有两种访问控制级别: public 和默认。因为外部类没有处于任何类的内部,也就没有其所在类的内部、所在类的子类两个范围,因此 private protected 访问控制符对外部类没有意义。

2 )内部类的上一级程序单元是外部类,它具有 4 个作用域:同一个类( private )、同一个包( protected )和任何位置( public )。

3 因为局部成员的作用域是所在方法,其他程序单元永远不可能访问另一个方法中的局部变量,所以所有的局部成员都不能使用访问控制修饰符修饰。
发表于 2017-05-28 21:53:03 回复(27)

可以把局部内部类当做一个局部变量,所以它是不需要加任何修饰符的

局部内部类前不能用修饰符public和private,protected

内部类就随意了。
发表于 2017-05-18 21:39:51 回复(13)
1.类指外部类,最大的类,修饰符有public(表示该类在项目所有类中可以被导入),default(该类只能在同一个package中使用),abstract,final
2.内部类指位于类内部但不包括位于块、构造器、方法内,且有名称的类,修饰符有public,private,protected访问控制符,也可以用static,final关键字修饰public和private比较简单,一个表示所有可以被所有类访问,一个表示只能被自身访问,protected修饰的成员类可以被同一个包中的类和子类访问。而default修饰的成员类只能被同一个包中的类访问。
3.局部内部类指位于块、构造器、方法内的有名称类,最多只能有final修饰
发表于 2017-09-19 15:35:00 回复(3)
其他解析都太多文字,不够明白  , demo:

// public 
class ClassD {// ClassD 为外部类,可以没有 public , 且只能带上 public, 不可以使用 protected,private 等其他

    // public, protected
    private static final class E {// E 为成员内部类, 可以加上 public,protected,private, 等和 static final

    }

    public static void main(String[] args) {

        class G {// 局部内部类

        }

    }

    public void test() {
        final class H {// 局部内部类 , 不可以加上 static 和 public,protected,private 等, 可以带上 final

        }
    }

}
发表于 2019-07-27 14:08:01 回复(7)
外部类只能被public和包访问两种权限修饰
成员内部类像一个成员一样有public、protected、private修饰,成员内部类可以无条件访问外部类的成员。
局部内部类就像是方法里面的一个局部变量一样,是不能有public、protected、private以及static修饰符的。
发表于 2019-02-13 16:05:15 回复(3)

外部类:public 默认

成员内部类:public protected private

局部内部类:不能有访问控制修饰权限

编辑于 2019-10-12 17:08:04 回复(0)
之前一个内部类的题 一个大佬到思路图  我给截了下来  很清晰。
发表于 2021-07-03 14:16:59 回复(1)
外部类的上一级程序单元是包,所以他只有两个作用域:同一个包内和任何位置。
成员内部类的上一级程序单元是外部类,它具有 4 个作用域:default ,同一个类( private )、同一个包( protected )和任何位置( public )
如果把一个内部类放在方法里定义,则这个内部类就是一个局部内部类,局部内部类仅在该方法里有效。局部成员的作用于是所在方法,所以所有局部成员不能使用访问控制修饰符。
发表于 2019-07-31 22:38:56 回复(1)

对于普通的类,可用的修饰符有 final abstract strictfp public 和默认的包访问,不可以用 private 修饰。

发表于 2017-05-24 08:32:18 回复(1)
外部类:public 、default
内部类:public 、privite、protect
局部类:无
发表于 2019-04-09 14:42:54 回复(0)
外部类只有public和默认两种 内部类可以public private protected 局部类不能用任何修饰
编辑于 2022-10-23 17:26:58 回复(0)
外部类的访问控制符只有public和default两种。
成员内部类同成员方法和字段,访问控制符可以是public、protected、default、private四种。
局部内部类同局部变量,不能被public、protected、private、static修饰,但可以被final和abstract修饰。

发表于 2022-04-24 13:30:40 回复(0)
我觉得题目出的不严谨,类包括外部类和内部类,内部类还包括成员内部类和局部内部类。要么具体说明b项是成员内部类,要不然就应该选D,以上都不正确。
编辑于 2018-01-13 12:24:07 回复(0)
原来private一般用来修饰内部类啊,普通类不使用
发表于 2017-08-06 21:42:14 回复(0)
类的修饰符只可以是public,abstract,final
发表于 2017-06-03 20:48:25 回复(0)
局部内部类就跟局部变量一样
发表于 2022-10-17 09:05:42 回复(0)
成员内部类,静态内部类他们的访问权限修饰词都是和普通成员一样,具有public,protected,缺省,private四种。当然,你既然都定义成内部类了,就私有化得了,不就是为了不想被人家用嘛 局部内部类,是和局部变量一样,没有访问权限修饰词,因为它只在局部作用域生效,根本没有必要加访问权限
发表于 2022-05-23 23:08:23 回复(0)
局部内部类和匿名内部类地位是局部变量,因此局部变量不能被修饰,除了final,因为局部变量也是final,成员内部类和静态内部类相当于一个成员,因此可以添加修饰符. 点赞+1
发表于 2022-03-30 19:52:40 回复(0)
外部类:只能有两种访问控制级别,public 和 默认。外部类没有处于任何类的内部,因此private和public访问控制符没有任何意义。
成员内部类:位于类内部但不包括位于块、构造器、方法内,且有名称的类,修饰符有public,private,protected访问控制符,也可以用static,final关键字修饰。
局部内部类:位于块、构造器、方法内的有名称类,最多只能有final修饰
发表于 2021-06-05 21:34:55 回复(0)
首先是考点访问修饰符。有四种。 外部类只能是public和默认。 内部类,相当于成员,都可以。 局部内部类,是局部变量
发表于 2020-07-24 08:28:03 回复(0)