```
public class Main
{
protected double x, y, z;
public Point3D()
{
}
public Point3D(double nx, double ny, double nz)
{
MoveTo(nx, ny, nz);
}
public final double GetX()
{
return x;
}
public final void SetX(double value)
{
x = value;
}
public final double GetY()
{
return y;
}
public final void SetY(double value)
{
y = value;
}
public final double GetZ()
{
return z;
}
public final void SetZ(double value)
{
z = value;
}
public final void MoveTo(double nx, double ny, double nz)
{
x = nx;
y = ny;
z = nz;
}
public final double DistanceTo(Point3D p2)
{
return Math.sqrt((x - p2.GetX()) * (x - p2.GetX()) + (y - p2.GetY()) * (y - p2.GetY()) + (z - p2.GetZ()) * (z - p2.GetZ()));
}
}
```