由
同一类组成的构造函数可以访问参数的私有成员吗?
在构造函数"队列(队列ob)"中,如何访问"ob的私有成员"?
class Queue{
private char q[];
private int putloc, getloc;
Queue(int size){
q = new char[size];
putloc = getloc = 0;
}
Queue(Queue ob){
putloc = ob.putloc;
getloc = ob.getloc;
q = new char[ob.q.length];
for(int i = getloc; i < putloc; i++)
q[i] = ob.q[i];
}
void put(char ch){
if(putloc == q.length){
System.out.println(" - Queue is full. ");
return;
}
q[putloc++] = ch;
}
char get(){
if(getloc == putloc){
System.out.println(" - Queue is empty. ");
return (char)0;
}
return q[getloc++];
}
}
public class QDemo2 {
public static void main(String args[]){
Queue q1 = new Queue(10);
Queue q2 = new Queue(q1);
}
}
这就是Java的工作方式。队列可以访问自己的私有字段,甚至是另一个实例的私有字段。