答案:B
- A:prvate才是表示私有的,protected表示受保护的
- C:private和protected修饰的成员,不能在类的外部通过“对象。属性”直接访问(private完全对外隐藏;protected仅对同包类/子类可见,非子类的外部类无法访问)
- D:public表示“公共的”,private表示“私有的”
答案:super
在面向对象编程(如 Java)中,super关键字的核心作用是:
-
- 引用父类的成员(属性、方法);
-
- 调用父类的构造方法;以此实现子类对父类资源的访问与复用。
答案:private
在 Java 等面向对象编程语言中,private是“访问修饰符之一”,其作用是:
-
- 限定被修饰的属性、方法仅能在当前类的内部被访问;
-
- 对外完全隐藏该成员,类的外部(包括子类)无法直接访问,以此实现代码的封装性。
答案: B
在 Java 中,父类的默认属性(即没有显式访问修饰符的属性)的访问权限是 “包访问权限”:
-
- 若子类与父类在同一个包下,子类可以通过
super.属性名访问父类的默认属性;
- 若子类与父类在同一个包下,子类可以通过
-
- 若子类与父类不在同一个包下,子类无法访问父类的默认属性。
-
题干未限定 “子类与父类同包” 这一前提,因此 “可以通过
super.属性名访问” 的表述不成立。
答案:B
在 Kotlin 中(题干中的private[this]是 Kotlin 的语法):
-
private:默认是类级别的私有,同一类的不同对象之间可以互相访问对方的private成员;
-
private[this]:是更严格的 “实例级私有”,仅当前实例(this)能访问,同一类的其他对象也无法访问。
因此,private的访问权限比private[this]宽松,题干描述完全相反。
答案:A
在 Java 等面向对象语言中,protected是访问修饰符,其核心规则是:被protected修饰的成员,在子类中(无论子类与父类是否同包)都可以访问(通常通过super关键字或子类实例访问)。这是protected权限的核心特性之一,因此题干表述正确。
答案:C
在 Kotlin 中,访问修饰符需写在变量声明关键字(如var)之前,且正确的私有修饰符是private:
- 选项 A、B:
var写在private之前,语法顺序错误; - 选项 C:
private var name:String = "小花"符合 Kotlin 的语法规则(修饰符在前,变量关键字在后); - 选项 D:修饰符拼写错误(应为
private,不是privated)。