Download presentation
Presentation is loading. Please wait.
1
Datalogi A 2: 15/9
2
Java Slides based on Horstmann chapter 2&3 Objects and classes Import, methods, references Implementing a class
3
Variable declaration typeName variableName = value; or typeName variableName; Example: String greeting = "Hello, Dave!"; Purpose: To define a new variable of a particular type and optionally supply an initial value
4
Identifiers Identifier: name of a variable, method, or class Rules for identifiers in Java: –Can be made up of letters, digits, and the underscore (_) character –Cannot start with a digit –Cannot use other symbols such as ? or % –Spaces are not permitted inside identifiers –You cannot use reserved words –They are case sensitive By convention, variable names start with a lowercase letter By convention, class names start with an uppercase letter
5
Objects Object: entity that you can manipulate in your programs (by calling methods) Each object belongs to a class. For example, System.out belongs to the class PrintStream
6
Methods Method: Sequence of instructions that accesses the data of an object You manipulate objects by calling its methods Class: Set of objects with the same behavior Class determines legal methods String greeting = "Hello"; greeting.println() // Error greeting.length() // OK
7
String Methods length : counts the number of characters in a string String greeting = "Hello, World!"; int n = greeting.length(); // sets n to 13 toUpperCase : creates another String object that contains the characters of the original string, with lowercase letters converted to uppercase String river = "Mississippi"; String bigRiver = river.toUpperCase(); // sets bigRiver to "MISSISSIPPI" When applying a method to an object, make sure method is defined in the appropriate class System.out.length(); // This method call is an error
8
Implicit and Explicit Parameters Parameter (explicit parameter): Input to a method. Not all methods have explicit parameters. System.out.println(greeting) greeting.length() // has no explicit parameter Implicit parameter: The object on which a method is invoked System.out.println(greeting)
9
Passing Return Values You can also use the return value as a parameter of another method : System.out.println(greeting.length()); Not all methods return values. Example : println
10
Example: Rectangle A Rectangle object isn't a rectangular shape–it is an object that contains a set of numbers that describe the rectangle
11
Constructing Objects new Rectangle(5, 10, 20, 30) Detail: The new operator makes a Rectangle object It uses the parameters (in this case, 5, 10, 20, and 30) to initialize the data of the object It returns the object Usually the output of the new operator is stored in a variable Rectangle box = new Rectangle(5, 10, 20, 30);
12
Rectangular shapes
13
Object Construction new ClassName(parameters) Example: new Rectangle(5, 10, 20, 30) new Rectangle() Purpose: To construct a new object, initialize it with the construction parameters, and return a reference to the constructed object
14
Accessor and Mutator Methods Accessor method: does not change the state of its implicit parameter double width = box.getWidth(); Mutator method: changes the state of its implicit parameter box.translate(15, 25);
15
Importing a Class from a Package import packageName.ClassName; Example: import java.awt.Rectangle; Purpose: To import a class from a package for use in a program.
16
MoveTester.java import java.awt.Rectangle; public class MoveTester{ public static void main(String[] args){ Rectangle box = new Rectangle(5, 10, 20, 30); // Move the rectangle box.translate(15, 25); // Print information about the moved rectangle System.out.println("After moving,”); System.out.println("the top-left corner is:"); System.out.println(box.getX()); System.out.println(box.getY()); }
17
Java API documentation
18
Rectangle Class
19
Object references Multiple object variables can refer to the same object Rectangle box = new Rectangle(5, 10, 20, 30); Rectangle box2 = box; box2.translate(15, 25);
20
Copying numbers int luckyNumber = 13; int luckyNumber2 = luckyNumber; luckyNumber2 = 12;
21
Implementing a class A black box magically does its thing Hides its inner workings Encapsulation: the hiding of unimportant details What is the right concept for each particular black box? Concepts are discovered through abstraction Abstraction: taking away inessential features, until only the essence of the concept remains In object-oriented programming the black boxes from which a program is manufactured are called objects
22
Class Definition accessSpecifier class ClassName { constructors methods fields } Example : public class BankAccount{ public BankAccount(double initialBalance) {... } public void deposit(double amount) {... }... } Purpose : To define a class, its public interface, and its implementation details
23
Method Definition accessSpecifier returnType methodName(parameterType parameterName,...) { method body } Example : public void deposit(double amount){... } Purpose : To define the behavior of a method
24
Constructor Definition accessSpecifier ClassName(parameterType parameterName,...) { constructor body } Example: public BankAccount(double initialBalance) {... } Purpose: To define the behavior of a constructor
25
Instance Fields An object stores its data in instance fields Field: a technical term for a storage location inside a block of memory Instance of a class: an object of the class The class declaration specifies the instance fields: public class BankAccount {... private double balance; }
26
Instance Fields
27
BankAccount.java public class BankAccount{ private double balance; BankAccount(){ balance = 0; } BankAccount(double initialBalance){ balance = initialBalance; } public void deposit(double amount){ balance = balance + amount; } void withdraw(double amount){ balance = balance - amount; } double getBalance(){ return balance;} }
28
BankAccountTester.java public class BankAccountTester{ public static void main(String[] args){ BankAccount harrysChecking = new BankAccount(); harrysChecking.deposit(2000); harrysChecking.withdraw(500); System.out.println(harrysChecking.getBalance()); } Prints out 1500
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.