Download presentation
Presentation is loading. Please wait.
Published byElla Lindholm Modified over 5 years ago
1
Announcements Assignment 2 and Lab 4 due Wednesday
2
Questions? Loops
3
Today in COMP 110 Classes & Methods
4
Classes Java programs consists of objects of various class types interacting with one another You have already been using classes System, String, Scanner, Math
5
Classes A class is a definition of a kind of object
It describes a general template or blueprint for creating objects of that class A class “Car” is a definition of what a “Car” is and what it can do
6
Classes & Objects Objects of the class Car might have the following attributes Make Model Year Owner Location All objects of the class Car have these attributes, but with potentially different values
7
Classes & Objects Class Car Camry object Focus object Make Model Year
Owner Location Camry object Make = Toyota Model = Camry Year = 2000 Owner = John Doe Location = Garage Focus object Make = Ford Model = Focus Year = 2001 Owner = Samantha Smart Location = School
8
Classes & Objects Both the “Camry” and “Ford” objects satisfy the definition of the class “Car” They are said to be instances of the “Car” class When we create an object of a certain class, we are said to instantiate it
9
Classes & Objects Important: classes do not have data; individual objects have data Classes specify what kind of data objects have 9
10
Methods Classes also define the actions that objects of its type can perform These are called methods All objects of the same class have the same methods The class “Car” might have the following methods accelerate() brake() sell() start()
11
UML A UML class diagram can be useful in describing classes
UML stands for Universal Modeling Language
12
UML A UML class diagram for the class “Car” Class name Data
make: String model: String year: int owner: String - location: String + accelerate(double pedalPressure): void + brake(double pedalPressure): void + sell(): void + start(): void Class name Data Methods (actions)
13
Class Files & Separate Compilation
Each Java class definition goes in its own, SEPARATE .java file ClassName ClassName.java The class “Car” must be saved in a file called “Car.java”
14
Class Files & Separate Compilation
What happens when you compile a .java file? .java file gets compiled into a .class file Car.java is compiled into Car.class Contains Java bytecode You can compile a Java class before you have a program that uses it
15
Defining Classes You have already been defining your own classes!
Every program you have written defines a class //define the class TipCalculator public class TipCalculator { … }
16
The Student Class Student name: String year: int gpa: double
major: String credits: int gpaSum: double + getName(): String + getMajor(): String + printData(): void + increaseYear(): void + calculateGPA(double grade): void
17
Defining the Class Student
Class name public class Student { public String name; public int year; public double GPA; public String major; // ... public String getMajor() { return major; } public void increaseYear() { year++; // … Data (instance variables) Methods
18
Instance Variables The data members of a class are called instance variables public String name; public int year; public double gpa; public String major; public No restrictions on how these instance variables are used (more details later)
19
Creating Objects Create an object called “keyboard” of class “Scanner”
Create an object called “jack” of class “Student” Student jack = new Student(); Create an object called “keyboard” of class “Scanner” Scanner keyboard = new Scanner(System.in); Assign memory address of object to variable Return memory address of object Create an object
20
Using Instance Variables: Inside the Class Definition
public class Student { public String name; public int year; public double GPA; public String major; // ... public String getMajor() { return major; } public void increaseYear() { year++; // …
21
Using public Instance Variables Outside a Class
public static void main(String[] args) { Student jack = new Student(); jack.name = "Jack Smith"; jack.major = "Computer Science"; System.out.println(jack.name + " is majoring in " + jack.major); Student sam = new Student(); sam.name = "Samantha Smart"; sam.major = "Biology"; System.out.println(sam.name + " is majoring in " + sam.major); } “jack.name” and “sam.name” are two different instance variables because they belong to different objects
22
Methods Two kinds of methods Methods that return a value
Examples string.substring() string.charAt() Methods that return nothing Example System.out.println()
23
Methods returns a String return type returns nothing
public String getMajor() { return major; } public void increaseYear() { year++; returns a String return type returns nothing
24
Defining Methods that Return Nothing
Method heading: keywords public: no restriction on how to use the method (more details later) void: the method returns nothing Method body: statements executed when the method is called (invoked) Must be inside a pair of braces public void increaseYear() { year++; }
25
Method printData As usual, inside a block (defined by braces), you can have multiple statements public void printData() { System.out.println("Name: " + name); System.out.println("Major: " + major); System.out.println("GPA: " + gpa); }
26
Methods All method definitions must appear inside the definition of the class to which they belong! public class Student { // … public String getMajor() { return major; } public void increaseYear() { year++;
27
Methods When you use a method such as keyboard.nextInt()
you are said to call or invoke the method
28
Calling Methods that Return Nothing
Syntax object.method(); Use them like Java statements Student jack = new Student(); jack.year = 1; jack.increaseYear(); System.out.println("Jack’s class year is " + jack.year); Output Jack’s class year is 2
29
Defining Methods that Return a Value
Method heading: keywords public: no restriction on how to use the method (more details later) Type: the type of value the method returns Method body: statements executed Must be inside a pair of braces Must have a return statement public String getMajor() { return major; }
30
The Return Statement A method that returns a value must have at least one return statement Terminates the method, and returns a value to the caller Syntax: return Expression; Expression can be any expression that produces a value of the return type 30
31
Methods that Return a Value
public String getClassYear() { if(classYear == 1) return "Freshman"; else if(classYear == 2) return "Sophomore"; else if ... }
32
Calling Methods that Return a Value
Syntax object.method(); Use as a variable of the method’s return type Student jack = new Student(); jack.name = "Jack Smith"; jack.major = "Computer Science"; String m = jack.getMajor(); System.out.println("Jack’s full name is " + jack.getName()); System.out.println("Jack’s major is " + m); 32
33
The Return Statement Can also be used in methods that return nothing
Terminates the method Syntax: return; public void increaseYear() { if(classYear >= 4) return; //exit the method classYear++; } 33
34
The Return Statement Typically, you want to write your methods to contain only one return statement It will make your programs easier to read
35
The Main Method The main method is a method like any other
public static void main(String[] args) { // … } The main method is not invoked by you, but invoked automatically by the system when you run a program
36
The Main Method Classes that have a main method can be run a program
Not all classes have a main method Some are used inside the main method of other classes
37
Local Variables Variables declared inside a method are called local variables As opposed to instance variables, which are declared in the class definition public class Student { public double gpa; //an instance variable public static void main(String[] args) { int size; //a local variable // … }
38
Local/Instance variables
Declared in a class Confined to the class Can be used anywhere in the class that declares the variable, including inside the class’ methods Local variables Declared in a method Confined to the method Can only be used inside the method that declares the variable
39
Programming Demo Counter class
A class used to count things Define a class that records a count as a non-negative whole number Include methods for the following Reset counter to 0 Increment the count Decrement the count Get the current count Display the current count
40
Counter Class No methods should allow the count to become negative
Write a program to test the class
41
Programming Demo Programming
42
Wednesday More about Classes
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.