class Vehicle {
    private long VIN;
    private String ownerName = "<unknown owner>";
    private float speed = 0;
    private float direction = 0;

    private static long nextVIN = 0;

    public Vehicle() {
	VIN = nextVIN++;
    }

    public Vehicle(String name) {
	this();
	ownerName = name;
    }

    public String getOwnerName() {
	return ownerName;
    }

    public float getSpeed() {
	return speed;
    }

    public float getDirection() {
	return direction;
    }
}

Assuming that the name of the vehicle's owner is unlikely to change
for the lifetime of this object, there is no need to have a method to
change this name after the object has been constructed.  Speed and
direction, on the other hand, are more dynamic properties of a
vehicle, likely to change frequently, it would be reasonable to
provide methods to allow modification of them.
