如何定义对类成员的访问控制
1. java中类有哪些访问控制修饰符,并指出它们的访问控制作用范围
类的访问控制符只有public与默认两种;类成员的访问控制符包括public,private,protected,与默认,java中没有friendly。public代表允许所有类及成员访问,private代表仅允许本类成员访问,protected代表仅允许本类及其子类成员访问,默认代表允许本包中类及其成员访问
2. 类及类成员的访问控制符有哪些
在Java中
类修饰符
Public
可以从其他类中访问
obstract
本类不能被实例化
final
不能再声明子类
构造器修饰符
Public
可以从所有的类中访问
Protected
只能从自己的类和它的子类中访问
Private
只能在本类中访问
域修饰符
Public
可以从所有的类中访问
Protected
只能从本类和它的子类中访问
Private
只能从本类中访问它
Static
对该类的所有实例只能有一个域值存在
transient
不是一个对象持久状态的一部份
Volatile
可以被异步的线程所修改
final
必须对它赋予初值并且不能修改它
局部变量修饰符
final
必须对它赋予初值并且不能修改它
方法修饰符
Public
可以从所有的类中访问它
Protected
只能从本类及其子类中访问它
Private
只能从本类中访问它
abstract
没有方法体,属于一个抽象类
final
子类不能覆盖它
static
被绑定于类本身而不是类的实例
native
该方法由其他编程语言实现
asnchronized
在一个线程调用它之前必须先给它加
3. 在C++类中,成员的访问权限有哪几种用什么关键字指定
关键字public,private,protected被称为 访问权限修饰符 或 访问控制修饰符 分别表示 公有,私有,保护 属性。(访问属性 又称 访问权限)
private是类的默认访问属性
4. JAVA中类及类成员的访问控制符包括
public:
可以在任何地方进行访问,不受任何约束;
protected:
可被子类访问,不管是同一个包还是不同包
同一个包中非子类需要通过对象访问
private:
只能够被本类中的其它成员访问,而不能从类的外部进行访问
缺省:称为friendly,可被同一包的所有的类访问
final:
final修饰的类表示这个类不可被继承,被称为最终类
Static:
不能用来修饰类,可以用来修饰变量,用static修饰的变量称为静态变量,可以直接通过
类名.变量名
来调用
5. Java的访问控制权限有哪几种试以类格式形式列出Java的访问控制。
访问权限的等级最大到最小依次是:public,protected,包访问权限(无关键字)和private。
成员的访问权限取得对某成员(属性和方法)的实现方法有下面四种情况
1, 权限设置为public; 2, 默认包访问权限,在同一包中的其他类,可以访问; 3, 权限设置为public或者protected,通过继承的子类可以访问; 4, 设置为private,提供访问器和变异器方法(get/set);
下面介绍这四种权限(相对成员而言)
1, 包访问权限,在同一包中的类可以访问; 2, Public:接口访问权限,任何类都可以访问; 3, Private:你无法访问,除了包含该成员的类,其他类都可以访问。 4, Protected:继承访问权限,包括包访问权限。在同一包中,还有就是子类可以访问。
类的访问权限类的访问
只有两种:包访问权限或public(用法同上) 如果不希望其他类拥有该类的访问权限,可以把这个来说有的构造器制定为private(比如单列模式)。
6. 简述三种访问修饰符对类成员的访问限制
public:访问不受限制
private:只有类成员函数和友元函数才可以访问
protected:只有类成员函数和派生类成员函数才可以访问
7. JAVA中下面哪些关键字能用来控制对类成员的访问
JAVA中使用如下关键字public、protected、private能用来控制对类成员的访问:
1. 类的访问控制符有两种:public, default(默认的,什么都不用写)
default就是包内访问控制符。
当然对于内部类还可以有static修饰,而用static修饰的内部类叫作嵌套类。
2. 属性和方法的访问控制符有四种:private, default, protected, public
可以用如下的表描述:(Yes表示可访问,空表示不可访问)
3. 其它:java的访问控制级别分类:类访问控制级别,对象访问控制级别。
8. C++中类成员的访问权限
C++通过 public、protected、private 三个关键字来控制成员变量和成员函数的访问权限,它们分别表示公有的、受保护的、私有的,被称为成员访问限定符。
在类的内部(定义类的代码内部),无论成员被声明为 public、protected 还是 private,都是可以互相访问的,没有访问权限的限制。
在类的外部(定义类的代码之外),只能通过对象访问成员,并且通过对象只能访问 public 属性的成员,不能访问 private、protected 属性的成员