Java Reference
In-Depth Information
Note
setName()
invokesthe
String
class's
indexOf()
and
substring()
Javaprovidesalittleknowninformationhiding-relatedlanguagefeaturethatletsone
object(orclassmethod/initializer)accessanotherobject's
private
fieldsorinvokeits
private
methods.
Listing 2-15
provides a demonstration.
Listing 2-15.
One object accessing another object's
private
field
class PrivateAccess
{
private int x;
PrivateAccess(int x)
{
this.x = x;
}
boolean equalTo(PrivateAccess pa)
{
return
pa.x
== x;
}
public static void main(String[] args)
{
PrivateAccess pa1 = new PrivateAccess(10);
PrivateAccess pa2 = new PrivateAccess(20);
PrivateAccess pa3 = new PrivateAccess(10);
System.out.println("pa1
equal
to
pa2:
"+pa1.equalTo(pa2));
System.out.println("pa2
equal
to
pa3:
"+pa2.equalTo(pa3));
System.out.println("pa1
equal
to
pa3:
"+pa1.equalTo(pa3));
System.out.println(
pa2.x
);
}
}
also declares an
equalTo()
method that takes a
PrivateAccess
argument. The