0% found this document useful (0 votes)
45 views9 pages

Java Fundamentals For Android Development: Lesson 2 Object Oriented Programming

This document discusses object-oriented programming concepts in Java including classes, inheritance, interfaces, access modifiers, constructors, and polymorphism. It provides code examples to demonstrate how these concepts work, such as defining a Vehicle class with subclasses for Car and Truck, implementing an interface, using access modifiers, calling constructors, and overriding methods to demonstrate polymorphism.

Uploaded by

Moises Mojica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views9 pages

Java Fundamentals For Android Development: Lesson 2 Object Oriented Programming

This document discusses object-oriented programming concepts in Java including classes, inheritance, interfaces, access modifiers, constructors, and polymorphism. It provides code examples to demonstrate how these concepts work, such as defining a Vehicle class with subclasses for Car and Truck, implementing an interface, using access modifiers, calling constructors, and overriding methods to demonstrate polymorphism.

Uploaded by

Moises Mojica
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPSX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Java Fundamentals for

Android A.T.C.
Android Development
Lesson 2
Object Oriented Programming

1
Introduction
• Object Oriented Programming
• Objects
• Classes
class Vehicle {

Android A.T.C.
int speed = 0;
int gear = 1;
void changeGear(int newGear) {
gear = newGear;
}
void speedUp(int increment) {
speed = speed + increment;
}
void printStates() {
System.out.println(" speed:" + speed +
" gear:" + gear);
} 2
}
Inheritance
public class Car extends Vehicle {
int numOfSeats;
//Set of statements defining
//a car’s state and behavior

Android A.T.C.
}

public class Truck extends Vehicle {


public int loadWeight;
//Set of statements defining
//a truck’s state and behavior
} 3
Keywords this and super
• this is a reference to the current class itself.
• super is a reference to the parent class that this class inherent
from. It is used to access member variables and methods of
the parent class.
• In class Car, you can override method printStates() and call

Android A.T.C.
Vehicle’s printStates():

void printStates() {
super.printStates();
System.out.println(" Number of Seats:" + numOfSeat);
}

4
Interface
• A contract between a class and the outside world.
• A class that implements an interface must provide the
behavior specified by that interface.

public interface IVehicle {

Android A.T.C.
void changeGear(int newValue);
void speedUp(int increment);
}

class Vehicle implements IVehicle {


….
}
5
Access Modifiers
• Access modifiers determine whether other classes can use a
particular field or invoke a particular method.
• Specified using three keywords before a field or a method
• public
• private

Android A.T.C.
• protected

Access Levels
Modifier Class Package Subclass All other
public Y Y Y Y
protected Y Y Y N
Default Y Y N N
6
private Y N N N
Constructors
• Similar to functions but differentiated by the following:
• Constructors have the same name as the class
• They do not have any return type.

Android A.T.C.
class Vehicle {
……
public Vehicle(int s, int g){
speed = s;
gear = g;
}
……
} 7
Polymorphism
• Different subclasses of the same parent class can have
different behaviors, yet share some functionalities.
• Vehicle.java
public void showInfo() {
System.out.println("The vehicle has a speed of: " +
this.speed + " and at gear " + this.gear);
}

Android A.T.C.
• Truck.java
public void showInfo() {
super.showInfo();
System.out.println("The truck has is
carrying a load of: “ + this.loadWeight);
}
• Car.java
public void showInfo() {
super.showInfo();
System.out.println("The car has " 8
+ this.numOfSeats + " seats.");
}
Polymorphism (Cont.)
• The following class tests the polymorphism feature of Java
class Lesson1Array {
public static void main(String[] args) {
Vehicle vehicle1, vehicle2, vehicle3;

vehicle1 = new Vehicle(50,2);

Android A.T.C.
vehicle2 = new Car(50,2,4);
vehicle3 = new Truck(40,2,500);

System.out.println("Vehicle 1 info:");
vehicle1.showInfo();

System.out.println("\nVehicle 2 info:");
vehicle2.showInfo();

System.out.println("\nVehicle 3 info:");
vehicle3.showInfo();
}
}
9

You might also like