TL ; DR:
A field is a variable that lives inside a class. Each object of that class has its own copy.
Declare a field with a type and a name, with
publicin front so other code can read and write it:class Dog { public String name; public int age; }
Access a field on an object with the dot operator:
dog.name = "Rex";
Full lesson:
Right now your Dog class is just an empty shell — every Dog object you create is identical to every other one. We need a way to attach data to each object.
That's what fields are for. A field is a variable that belongs to a class — and each object created from that class gets its own copy of every field.
Declaring fields
class Dog {
public String name;
public int age;
}
publicmeans "any code can read and write this field". You'll seeprivatelater for fields that should only be touched by the class itself.String name;is just a variable declaration — same syntax you'd use anywhere else.
Reading and writing fields
Dog dog = new Dog();
dog.name = "Rex"; // write
dog.age = 4;
System.out.println(dog.name); // read → prints "Rex"
Each object has its own slot for every field, so two dogs can have different names without interfering.
Default values
If you don't assign a field, Java fills it in for you:
Numbers default to
0booleandefaults tofalseReferences (
String, arrays, other classes) default tonull
Your task
Update the Dog class to have two fields: name (a String) and age (an int). Then in mainFunction, set them on the dog object so the pre-filled System.out.println prints:
Rex is 4 years oldFree plan: 30 tutor messages. PRO is unlimited.
