On Day 16, we learn how to create custom classes and define attributes (also called fields). Attributes represent the data that belongs to an object. Each object of a class can have different values for its fields.
1. Creating a Class with Fields
class Student {
// fields (attributes)
String name;
int age;
double grade;
}
Explanation: Here, Student
is a class with three fields: name, age, and grade. These define the data a student object will hold.
2. Using Fields in Objects
public class Main {
public static void main(String[] args) {
// create object
Student s1 = new Student();
s1.name = "Alice";
s1.age = 20;
s1.grade = 8.5;
Student s2 = new Student();
s2.name = "Bob";
s2.age = 22;
s2.grade = 9.0;
// access fields
System.out.println(s1.name + " is " + s1.age + " years old with grade " + s1.grade);
System.out.println(s2.name + " is " + s2.age + " years old with grade " + s2.grade);
}
}
Explanation: Each object s1
and s2
stores its own values for name
, age
, and grade
. Even though they are from the same class, their data is independent.
3. Default Values of Fields
class Example {
int number; // default 0
boolean active; // default false
String text; // default null
}
public class Main {
public static void main(String[] args) {
Example e = new Example();
System.out.println("Number: " + e.number);
System.out.println("Active: " + e.active);
System.out.println("Text: " + e.text);
}
}
Explanation: When no values are assigned, Java provides default values: 0 for numbers, false for booleans, and null for objects (like Strings).
Summary
Fields represent the data of a class. Every object created from a class has its own copy of the fields. Fields can be given values manually or use Java’s default values.