当前位置: 技术问答>java相关
对jdk中String类的源代码的一点疑问?
来源: 互联网 发布时间:2015-10-18
本文导语: 今天jad出了String类,以下代码有些看不懂,望高手指点。 private int count; private int hash; private char value[]; public String(String s) { hash = 0; count = s.count; ...
今天jad出了String类,以下代码有些看不懂,望高手指点。
private int count;
private int hash;
private char value[];
public String(String s)
{
hash = 0;
count = s.count;
if(s.value.length > count)
{
value = new char[count];
System.arraycopy(s.value, s.offset, value, 0, count);
} else
{
value = s.value;
}
}
在String的构造函数中形参s为何能访问私有变量count,value.
private int count;
private int hash;
private char value[];
public String(String s)
{
hash = 0;
count = s.count;
if(s.value.length > count)
{
value = new char[count];
System.arraycopy(s.value, s.offset, value, 0, count);
} else
{
value = s.value;
}
}
在String的构造函数中形参s为何能访问私有变量count,value.
|
同一个类,大家都是String,当然能访问私有变量,不管是不是同一个实例。这种情况在static的方法中常有利用,如main()等。
|
私有变量就是给自己访问的。
|
public class Test
{
int count;
int value;
public Test(String s)
{
count=s.count;
value=s.value;
}
}
这个肯定是要出错的啊,
你先前定义的类是什么?(你第一次贴的那个帖子)
{
int count;
int value;
public Test(String s)
{
count=s.count;
value=s.value;
}
}
这个肯定是要出错的啊,
你先前定义的类是什么?(你第一次贴的那个帖子)