Classes and Objects in Java Classes and Objects
Classes and Objects in Java
Classes and Objects n n n A Java program consists of one or more classes A class is the description; while objects are actual examples Here is an example class: n n class Dog {. . . description of a dog goes here. . . } Here are some objects of that class: 2
More Objects n Here is another example of a class: n n class Window {. . . } Here are some examples (objects) of Windows: 3
Classes are like blueprints While the house made from the blueprint is the object 4
Classes contain data definitions n n Classes describe the data held by each of its objects Example: Data usually goes first in a class n class Dog { String name; int age; . . . rest of the class. . . } 5
Classes contain methods n n A class may contain methods that describe the behavior of objects Example: Methods usually go after the data n class Dog {. . . void bark() { System. out. println("Woof!"); } } n n When we ask a particular Dog to bark, it says “Woof!” Only Dog objects can bark; the class Dog cannot bark 6
Methods contain statements n A statement causes the object to do something n n (A better word would be “command”—but it isn’t) Example: n n System. out. println("Woof!"); This causes the particular Dog to “print” (actually, display on the screen) the characters Woof! 7
Methods may contain temporary data n Data described in a class exists in all objects of that class n n n Example: Every Dog has its own name and age A method may contain local temporary data that exists only until the method finishes Example: n void wake. The. Neighbors( ) { int i = 50; // i is a temporary variable while (i > 0) { bark( ); i = i – 1; } } 8
Classes always contain constructors n n A constructor is a piece of code that “constructs, ” or creates, a new object of that class If you don’t write a constructor, Java defines one for you (behind the scenes) The constructor always has the same name as your class. Example: (This part is the constructor) n class Dog { String name; int age; Dog(String n, int age) { name = n; this. age = age; } } 9
Constructors n n You can have multiple constructors Example: n class Dog { String name; int age; Dog(String n, int age) { name = n; this. age = age; } Dog(int age) { name = “UNKNOWN”; this. age = age; } Dog() { name = “UNKNOWN”; age = 0; } There are 3 constructors: It will construct an object based on the # of arguments. } 10
Diagram of program structure Program File Class File Variables Constructors Variables File Statements Methods Variables Statements n n A program consists of one or more classes Typically, each class is in a separate. java file 11
Summary n n A program consists of one or more classes A class is a description of a kind of object n n A class describes data, constructors, and methods n n In most cases, it is the objects that do the actual work An object’s data is information about that object An object’s methods describe how the object behaves A constructor is used to create objects of the class Methods (and constructors) may contain temporary data and statements (commands) 12
Getting started n Question: Where do objects come from? n n Question: Where does the first object come from? n n Answer: They are created by other objects. Answer: Programs have a special main method, not part of any object, that is executed in order to get things started public static void main(String[ ] args) { Dog fido = new Dog("Fido", 5); // creates a Dog } 13
A complete program class Dog { String name; int age; Dog(String n, int age) { name = n; this. age = age; } public class Kennel { public static void main(String[ ] args) { Dog fido = new Dog("Fido", 5); fido. bark(); } } // ends the class void bark() { System. out. println("Woof!"); } } 14
- Slides: 14