In Java, 'double' is a primitive data type that stores 64-bit floating-point numbers, while 'Double' is a wrapper class that provides object representation of double values. This is part of Java's type system where primitives have direct memory representation and wrapper classes enable object-oriented operations. Options B, C, and D incorrectly classify these types.