point p = new point(1, 2) // one reference here, // one reference in draw(). draw(p)
private point p = new point(1, 2)
void rotate() { ... p.x ... }
void translate() { ... p.x ...}
private Array points[] void add(x, y) point p = new point(x, y) // whatever points[0] = p
void draw() { ... point p = point(x, y) ... }
void draw()
{ point p = point(x, y) ... normalize(p) ... }
void draw()
{ point p = point(x, y) ... normalize(p) }
public service()
point p = new point() ; m1(p) ; m2(p) ; ...
private m1(point p) { no p copy }
private m2(point p) { no p copy }
void operate() point p = new point(1, 2) // whatever untrusted(p.clone())
clone() can be difficult.
void operate() point p = new point(1, 2) untrusted(p.freeze()) untrusted(p.x, p.y)
class PointThread extends Thread
private point p;
PointThread(Runnable r, int x, int y)
super(r)
p = new point(x, y)
This page last modified on 8 July 2003.