One of the most basic code statements you can write in Java is as follows:
int i = 0;
This declares the variable
i with the data type
int and a value of
0. Integers are primitive data types, but what happens when we use non-primitive data types like
String greeting = "hello";
Not much has changed, except we now use the
String data type and pass a
String as the value. Let's go further with this. Say we have an example class,
LightBulb. How would we use
LightBulb as a data type and pass it as a value?
LightBulb light = new LightBulb();
You can see that we are essentially creating a "new" LightBulb to be stored by the variable
By creating a "new" object, we are now a client of a class. In the case of the
LightBulb class, we are a "client" of the class LightBulb, and must use the methods accordingly.
In previous lessons, we have used the line
System.out.println() to print to the console. In this case as well, we are "clients" to the
Being a client of a class or another program means that we are able to use parts of code without actually having to know how it works, as long as we know what it does. Take the
System.out.println() method: we know that it prints to the console, but it doesn't matter exactly how it does it as long as it does it.
This works the same way for the
LightBulb class. Say we can turn our
light on and off with the methods
turnOff(). We can call these methods like
light.turnOn() and we know exactly what they will do, but we don't need to understand how they work in order to use them in our own code.