在java中,由相同类组成的构造函数可以访问参数的私有成员吗?



同一类组成的构造函数可以访问参数的私有成员吗?

在构造函数"队列(队列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的工作方式。队列可以访问自己的私有字段,甚至是另一个实例的私有字段。

最新更新