JavaClass Attributes
Java Class Attributes
In the previous chapter, we used the term "variable" forx in the example (as shown below). It is actually anattribute of the class. Or you could say that class attributes are variables within a class:
Create a class called "Main" with two attributes:x andy:
public class Main { int x = 5; int y = 3;}Another term for class attributes isfields.
Accessing Attributes
You can access attributes by creating an object of the class, and by using the dot syntax (.):
The following example will create an object of theMain class, with the namemyObj. We use thex attribute on the object to print its value:
Example
Create an object called "myObj" and print the value ofx:
public class Main { int x = 5; public static void main(String[] args) { Main myObj = new Main(); System.out.println(myObj.x); }}Modify Attributes
You can also modify attribute values:
Example
Set the value ofx to 40:
public class Main { int x; public static void main(String[] args) { Main myObj = new Main(); myObj.x = 40; System.out.println(myObj.x); }}Or override existing values:
Example
Change the value ofx to 25:
public class Main { int x = 10; public static void main(String[] args) { Main myObj = new Main(); myObj.x = 25; // x is now 25 System.out.println(myObj.x); }}If you don't want the ability to override existing values, declare the attribute asfinal:
Example
public class Main { final int x = 10; public static void main(String[] args) { Main myObj = new Main(); myObj.x = 25; // will generate an error: cannot assign a value to afinal variable System.out.println(myObj.x); }}Thefinal keyword is useful when you want a variable to always store the same value, like PI (3.14159...).
Thefinal keyword is called a "modifier". You will learn more about these in theJava Modifiers Chapter.
Multiple Objects
If you create multiple objects of one class, you can change the attribute values in one object, without affecting the attribute values in the other:
Example
Change the value ofx to 25 inmyObj2, and leavex inmyObj1 unchanged:
public class Main { int x = 5; public static void main(String[] args) { Main myObj1 = new Main(); // Object 1 Main myObj2 = new Main(); // Object 2 myObj2.x = 25; System.out.println(myObj1.x); // Outputs 5 System.out.println(myObj2.x); // Outputs 25 }}Multiple Attributes
You can specify as many attributes as you want:
Example
public class Main { String fname = "John"; String lname = "Doe"; int age = 24; public static void main(String[] args) { Main myObj = new Main(); System.out.println("Name: " + myObj.fname + " " + myObj.lname); System.out.println("Age: " + myObj.age); }}The next chapter will teach you how to create class methods and how to access them with objects.

