Java Programming –
Class/Object
Oum Saokosal
Master’s Degree in information systems,Jeonju
University,South Korea
012 252 752 / 070 252 752
oumsaokosal@gmail.com
Contact Me
• Tel: 012 252 752 / 070 252 752
• Email: oumsaokosal@gmail.com
• FB Page: https://facebook.com/kosalgeek
• PPT: http://www.slideshare.net/oumsaokosal
• YouTube: https://www.youtube.com/user/oumsaokosal
• Twitter: https://twitter.com/okosal
• Web: http://kosalgeek.com
3
Class/Object
•“Class” means a category of things
• A class name can be used in Java as the
type of a field or local variable or as the
return type of a function (method)
•“Object” means a particular item that
belongs to a class
• Also called an “instance”
4
(“Fields” or “Data
Members”)
class Ship1 {
public double x, y, speed, direction;
public String name;
}
public class Test1 {
public static void main(String[] args) {
Ship1 s1 = new Ship1();
s1.x = 0.0;
s1.y = 0.0;
s1.speed = 1.0;
s1.direction = 0.0;
s1.name = "Ship1";
}
}
5
Class/Object
•Java naming convention
•Format of class definitions
•Creating classes with new
•Accessing fields with
variableName.fieldName
6
Java NamingConventions
• Leading uppercase letter in class name
public class MyClass {
...
}
• Leading lowercase letter in field, local
variable, and method (function) names
• myField,myVar,myMethod
7
The general form of a simple class is
modifier class Classname {
modifier data-type field1;
modifier data-type field2;
...
modifier data-type fieldN;
modifier Return-Type methodName1(parameters) {
//statements
}
...
modifier Return-Type methodName2(parameters) {
//statements
}
}
8
Objects and References
• Once a class is defined,you can easily declare a variable (object
reference) of theclass
Ship s1, s2;
Point start;
Color blue;
• Object references are initially null
• The null value is a distinct type in Java and should not be
considered equal to zero
• A primitive data type cannot be cast to an object (use wrapper
classes)
• The new operatoris required to explicitly create the object that
is referenced
ClassName variableName = new ClassName();
9
Accessing InstanceVariables
• Use a dot between the variable name and the field
name, as follows:
variableName.fieldName
• For example,Java has a built-in class called Point that
has x and y fields
Point p = new Point(2, 3); // Build a Point object
int xSquared = p.x * p.x; // xSquared is 4
p.x = 7;
• One major exception applies to the “access fields
through varName.fieldName”rule
• Methodscan accessfields of current object without
varName
• This will be explainedwhen methodsare discussed
10
Example 2: Methods
class Ship2 {
public double x=0.0, y=0.0, speed=1.0,
direction=0.0;
public String name = "UnnamedShip";
private double degreesToRadians(double degrees) {
return(degrees * Math.PI / 180.0);
}
public void move() {
double angle = degreesToRadians(direction);
x = x + speed * Math.cos(angle);
y = y + speed * Math.sin(angle);
}
public void printLocation() {
System.out.println(name + " is at ("
+ x + "," + y + ").");
}
}
11
Methods (Continued)
public class Test2 {
public static void main(String[] args) {
Ship2 s1 = new Ship2();
s1.name = "Ship1";
Ship2 s2 = new Ship2();
s2.direction = 135.0; // Northwest
s2.speed = 2.0;
s2.name = "Ship2";
s1.move();
s2.move();
s1.printLocation();
s2.printLocation();
}
}
• Compiling and Running:
javac Test2.java
java Test2
• Output:
Ship1 is at (1,0).
Ship2 is at (-1.41421,1.41421).
12
Example 2: Major Points
•Format of method definitions
•Methods that access local fields
•Calling methods
•Static methods
•Default values for fields
•public/private distinction
13
Defining Methods
(Functions Inside Classes)
• Basic method declaration:
public ReturnType methodName(type1 arg1,
type2 arg2, ...) {
...
return(something of ReturnType);
}
• Exception to this format: if you declare the return type
as void
• This special syntaxthat means “thismethodisn’t going to
return a value
• In such a caseyou do not need (in fact,are not permitted),
a return statement that includes a value tobe returned.
14
Examples of Defining Methods
• Here are twoexamples:
• The first squares an integer
• The second returns the faster of two Ship objects, assuming that a
class called Ship has been defined that has a field named speed
// Example function call:
// int val = square(7);
public int square(int x) {
return(x*x);
}
// Example function call:
// Ship faster = fasterShip(someShip, someOtherShip);
public Ship fasterShip(Ship ship1, Ship ship2) {
if (ship1.speed > ship2.speed) {
return(ship1);
} else {
return(ship2);
}
}
15
Static Methods
• Static functions are like global functions in other
languages
• You can call a static method through the class name
ClassName.functionName(arguments);
• For example, the Math class has a static method
called cos that expects a double precision
number as an argument
• So you can call Math.cos(3.5) without ever
having any object (instance) of the Math class
16
MethodVisibility
• public/private distinction
• A declaration of private meansthat “outside”
methods can’t call it -- only methods within the same
class can
• Thus, for example, the main methodof theTest2 class
could not have done
double x = s1.degreesToRadians(2.2);
•Attempting to do so would have resulted in an errorat
compile time
• Only say public for methods that you want to
guarantee your class willmake available to users
• You are free to change or eliminate private methods
without telling users of your class about
17
Example 3: Constructors
class Ship3 {
public double x, y, speed, direction;
public String name;
public Ship3(double x, double y,
double speed, double direction,
String name) {
this.x = x; // "this" differentiates instance vars
this.y = y; // from local vars.
this.speed = speed;
this.direction = direction;
this.name = name;
}
private double degreesToRadians(double degrees) {
return(degrees * Math.PI / 180.0);
}
...
18
Constructors (Continued)
public void move() {
double angle = degreesToRadians(direction);
x = x + speed * Math.cos(angle);
y = y + speed * Math.sin(angle);
}
public void printLocation() {
System.out.println(name + " is at ("
+ x + "," + y + ").");
}
}
public class Test3 {
public static void main(String[] args) {
Ship3 s1 = new Ship3(0.0, 0.0, 1.0, 0.0, "Ship1");
Ship3 s2 = new Ship3(0.0, 0.0, 2.0, 135.0, "Ship2");
s1.move();
s2.move();
s1.printLocation();
s2.printLocation();
}
}
19
Constructor Example: Results
• Compiling and Running:
javac Test3.java
java Test3
•Output:
Ship1 is at (1,0).
Ship2 is at (-1.41421,1.41421).
20
Example 3: Major Points
•Format of constructor definitions
•The “this” reference
21
Constructors
• Constructors are special functions called when a class
is created with new
• Constructorsare especially useful for supplying values of
fields
• Constructorsare declared through:
public ClassName(args) {
...
}
• Notice that the constructorname must exactly match the
class name
• Constructorshave no return type(not even void), unlike a
regular method
• Java automatically provides a zero-argument constructorif
and only if the class doesn’t define it’s own constructor
• That’s why you could say
Ship1 s1 = new Ship1();
in the first example,even though a constructor wasnever
defined
22
The thisVariable
• The this object reference can be used inside any
non-staticmethod to refer to the current object
• The common uses of the thisreference are:
1. To passa reference to thecurrent object as a parameter
to other methods
someMethod(this);
2. To resolve name conflicts
• Using this permitsthe use of instance variablesin
methodsthat have local variableswith the same name
• Note that it is only necessary to say this.fieldName
when you have a localvariable anda class field with the
same name; otherwise just use fieldName with no
this

More Related Content

PDF
Java OOP Programming language (Part 5) - Inheritance
PPTX
Class object method constructors in java
PPTX
Java chapter 4
PPTX
Java chapter 5
PDF
Object Oriented Programming in PHP
PPTX
Classes in c++ (OOP Presentation)
PDF
ITFT-Classes and object in java
PDF
Java Programming - 04 object oriented in java
Java OOP Programming language (Part 5) - Inheritance
Class object method constructors in java
Java chapter 4
Java chapter 5
Object Oriented Programming in PHP
Classes in c++ (OOP Presentation)
ITFT-Classes and object in java
Java Programming - 04 object oriented in java

What's hot (20)

PDF
Core java complete notes - Contact at +91-814-614-5674
PDF
Java oop
PPTX
04. Review OOP with Java
PDF
C h 04 oop_inheritance
PDF
Java ppt Gandhi Ravi ([email protected])
PPT
C++ classes tutorials
PPTX
Classes and objects
PPT
Object and Classes in Java
PDF
Lect 1-java object-classes
PDF
Java Methods
PDF
Java Programming - 05 access control in java
PPTX
Java constructors
PPT
Java Basics
PPT
Java tutorial for Beginners and Entry Level
PPTX
Class or Object
PPT
Java basic tutorial
PPT
Object and class
PDF
Pavel kravchenko obj c runtime
PPTX
05 Java Language And OOP Part V
Core java complete notes - Contact at +91-814-614-5674
Java oop
04. Review OOP with Java
C h 04 oop_inheritance
Java ppt Gandhi Ravi ([email protected])
C++ classes tutorials
Classes and objects
Object and Classes in Java
Lect 1-java object-classes
Java Methods
Java Programming - 05 access control in java
Java constructors
Java Basics
Java tutorial for Beginners and Entry Level
Class or Object
Java basic tutorial
Object and class
Pavel kravchenko obj c runtime
05 Java Language And OOP Part V
Ad

Viewers also liked (20)

PDF
JAVA Object Oriented Programming (OOP)
PPTX
oops concept in java | object oriented programming in java
ODP
OOP java
PPS
15 ooad uml-20
PPS
Dacj 2-2 c
PPS
Vb.net session 09
PPS
11 ds and algorithm session_16
PPS
Oops recap
PPS
09 iec t1_s1_oo_ps_session_13
PDF
OOP Java
PPS
Rdbms xp 01
PPS
Jdbc session01
PPS
14 ooad uml-19
PPS
Deawsj 7 ppt-2_c
PDF
Java Garbage Collection - How it works
PDF
Understanding Java Garbage Collection - And What You Can Do About It
PPS
Ds 8
PPS
Dacj 1-1 a
PPS
Aae oop xp_06
JAVA Object Oriented Programming (OOP)
oops concept in java | object oriented programming in java
OOP java
15 ooad uml-20
Dacj 2-2 c
Vb.net session 09
11 ds and algorithm session_16
Oops recap
09 iec t1_s1_oo_ps_session_13
OOP Java
Rdbms xp 01
Jdbc session01
14 ooad uml-19
Deawsj 7 ppt-2_c
Java Garbage Collection - How it works
Understanding Java Garbage Collection - And What You Can Do About It
Ds 8
Dacj 1-1 a
Aae oop xp_06
Ad

Similar to Java OOP Programming language (Part 3) - Class and Object (20)

PDF
2java Oop
PPT
02 java basics
PPT
Core java
PPT
Java basic understand OOP
PPTX
Pi j2.2 classes
PPT
Java Concepts
PDF
3java Advanced Oop
PPT
PPT
Unit 1 Part - 3 constructor Overloading Static.ppt
PPT
java02.pptsatrrhfhf https://www.slideshare.net/slideshow/java-notespdf-259708...
PPT
Core java concepts
PPT
Java basic
PDF
OOPs Concepts - Android Programming
PPT
Core Java
PPTX
CORE JAVA PPT FOR ENGINEERS BBBBBBBBBBBBBBBBBBB
PPT
Core java concepts
PPT
08-classes-objects.ppt
PPT
08-classes-objects.ppt
PPT
OOC in python.ppt
PPT
Python - Classes and Objects, Inheritance
2java Oop
02 java basics
Core java
Java basic understand OOP
Pi j2.2 classes
Java Concepts
3java Advanced Oop
Unit 1 Part - 3 constructor Overloading Static.ppt
java02.pptsatrrhfhf https://www.slideshare.net/slideshow/java-notespdf-259708...
Core java concepts
Java basic
OOPs Concepts - Android Programming
Core Java
CORE JAVA PPT FOR ENGINEERS BBBBBBBBBBBBBBBBBBB
Core java concepts
08-classes-objects.ppt
08-classes-objects.ppt
OOC in python.ppt
Python - Classes and Objects, Inheritance

More from OUM SAOKOSAL (20)

PPTX
Class Diagram | OOP and Design Patterns by Oum Saokosal
PPTX
Android app development - Java Programming for Android
PDF
Java OOP Programming language (Part 8) - Java Database JDBC
PDF
Java OOP Programming language (Part 7) - Swing
PDF
Java OOP Programming language (Part 6) - Abstract Class & Interface
PDF
Java OOP Programming language (Part 4) - Collection
PDF
Java OOP Programming language (Part 1) - Introduction to Java
PDF
Javascript & DOM - Part 1- Javascript Tutorial for Beginners with Examples
PDF
Aggregate rank bringing order to web sites
DOC
How to succeed in graduate school
PDF
Google
PDF
E miner
PDF
Data preparation for mining world wide web browsing patterns (1999)
PDF
Consumer acceptance of online banking an extension of the technology accepta...
DOCX
When Do People Help
DOC
Mc Nemar
DOCX
Correlation Example
DOC
Sem Ski Amos
PPT
Sem+Essentials
DOC
Path Spss Amos (1)
Class Diagram | OOP and Design Patterns by Oum Saokosal
Android app development - Java Programming for Android
Java OOP Programming language (Part 8) - Java Database JDBC
Java OOP Programming language (Part 7) - Swing
Java OOP Programming language (Part 6) - Abstract Class & Interface
Java OOP Programming language (Part 4) - Collection
Java OOP Programming language (Part 1) - Introduction to Java
Javascript & DOM - Part 1- Javascript Tutorial for Beginners with Examples
Aggregate rank bringing order to web sites
How to succeed in graduate school
Google
E miner
Data preparation for mining world wide web browsing patterns (1999)
Consumer acceptance of online banking an extension of the technology accepta...
When Do People Help
Mc Nemar
Correlation Example
Sem Ski Amos
Sem+Essentials
Path Spss Amos (1)

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PPTX
Chapter 5: Probability Theory and Statistics
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Flame analysis and combustion estimation using large language and vision assi...
PDF
Architecture types and enterprise applications.pdf
PDF
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
Five Habits of High-Impact Board Members
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PPTX
Configure Apache Mutual Authentication
PDF
Consumable AI The What, Why & How for Small Teams.pdf
PPTX
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
CloudStack 4.21: First Look Webinar slides
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PPTX
The various Industrial Revolutions .pptx
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PPTX
Modernising the Digital Integration Hub
NewMind AI Weekly Chronicles – August ’25 Week III
Chapter 5: Probability Theory and Statistics
A contest of sentiment analysis: k-nearest neighbor versus neural network
Flame analysis and combustion estimation using large language and vision assi...
Architecture types and enterprise applications.pdf
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
Five Habits of High-Impact Board Members
The influence of sentiment analysis in enhancing early warning system model f...
OpenACC and Open Hackathons Monthly Highlights July 2025
Configure Apache Mutual Authentication
Consumable AI The What, Why & How for Small Teams.pdf
AI IN MARKETING- PRESENTED BY ANWAR KABIR 1st June 2025.pptx
Benefits of Physical activity for teenagers.pptx
Hindi spoken digit analysis for native and non-native speakers
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
CloudStack 4.21: First Look Webinar slides
sbt 2.0: go big (Scala Days 2025 edition)
The various Industrial Revolutions .pptx
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Modernising the Digital Integration Hub

Java OOP Programming language (Part 3) - Class and Object

  • 1. Java Programming – Class/Object Oum Saokosal Master’s Degree in information systems,Jeonju University,South Korea 012 252 752 / 070 252 752 [email protected]
  • 2. Contact Me • Tel: 012 252 752 / 070 252 752 • Email: [email protected] • FB Page: https://facebook.com/kosalgeek • PPT: http://www.slideshare.net/oumsaokosal • YouTube: https://www.youtube.com/user/oumsaokosal • Twitter: https://twitter.com/okosal • Web: http://kosalgeek.com
  • 3. 3 Class/Object •“Class” means a category of things • A class name can be used in Java as the type of a field or local variable or as the return type of a function (method) •“Object” means a particular item that belongs to a class • Also called an “instance”
  • 4. 4 (“Fields” or “Data Members”) class Ship1 { public double x, y, speed, direction; public String name; } public class Test1 { public static void main(String[] args) { Ship1 s1 = new Ship1(); s1.x = 0.0; s1.y = 0.0; s1.speed = 1.0; s1.direction = 0.0; s1.name = "Ship1"; } }
  • 5. 5 Class/Object •Java naming convention •Format of class definitions •Creating classes with new •Accessing fields with variableName.fieldName
  • 6. 6 Java NamingConventions • Leading uppercase letter in class name public class MyClass { ... } • Leading lowercase letter in field, local variable, and method (function) names • myField,myVar,myMethod
  • 7. 7 The general form of a simple class is modifier class Classname { modifier data-type field1; modifier data-type field2; ... modifier data-type fieldN; modifier Return-Type methodName1(parameters) { //statements } ... modifier Return-Type methodName2(parameters) { //statements } }
  • 8. 8 Objects and References • Once a class is defined,you can easily declare a variable (object reference) of theclass Ship s1, s2; Point start; Color blue; • Object references are initially null • The null value is a distinct type in Java and should not be considered equal to zero • A primitive data type cannot be cast to an object (use wrapper classes) • The new operatoris required to explicitly create the object that is referenced ClassName variableName = new ClassName();
  • 9. 9 Accessing InstanceVariables • Use a dot between the variable name and the field name, as follows: variableName.fieldName • For example,Java has a built-in class called Point that has x and y fields Point p = new Point(2, 3); // Build a Point object int xSquared = p.x * p.x; // xSquared is 4 p.x = 7; • One major exception applies to the “access fields through varName.fieldName”rule • Methodscan accessfields of current object without varName • This will be explainedwhen methodsare discussed
  • 10. 10 Example 2: Methods class Ship2 { public double x=0.0, y=0.0, speed=1.0, direction=0.0; public String name = "UnnamedShip"; private double degreesToRadians(double degrees) { return(degrees * Math.PI / 180.0); } public void move() { double angle = degreesToRadians(direction); x = x + speed * Math.cos(angle); y = y + speed * Math.sin(angle); } public void printLocation() { System.out.println(name + " is at (" + x + "," + y + ")."); } }
  • 11. 11 Methods (Continued) public class Test2 { public static void main(String[] args) { Ship2 s1 = new Ship2(); s1.name = "Ship1"; Ship2 s2 = new Ship2(); s2.direction = 135.0; // Northwest s2.speed = 2.0; s2.name = "Ship2"; s1.move(); s2.move(); s1.printLocation(); s2.printLocation(); } } • Compiling and Running: javac Test2.java java Test2 • Output: Ship1 is at (1,0). Ship2 is at (-1.41421,1.41421).
  • 12. 12 Example 2: Major Points •Format of method definitions •Methods that access local fields •Calling methods •Static methods •Default values for fields •public/private distinction
  • 13. 13 Defining Methods (Functions Inside Classes) • Basic method declaration: public ReturnType methodName(type1 arg1, type2 arg2, ...) { ... return(something of ReturnType); } • Exception to this format: if you declare the return type as void • This special syntaxthat means “thismethodisn’t going to return a value • In such a caseyou do not need (in fact,are not permitted), a return statement that includes a value tobe returned.
  • 14. 14 Examples of Defining Methods • Here are twoexamples: • The first squares an integer • The second returns the faster of two Ship objects, assuming that a class called Ship has been defined that has a field named speed // Example function call: // int val = square(7); public int square(int x) { return(x*x); } // Example function call: // Ship faster = fasterShip(someShip, someOtherShip); public Ship fasterShip(Ship ship1, Ship ship2) { if (ship1.speed > ship2.speed) { return(ship1); } else { return(ship2); } }
  • 15. 15 Static Methods • Static functions are like global functions in other languages • You can call a static method through the class name ClassName.functionName(arguments); • For example, the Math class has a static method called cos that expects a double precision number as an argument • So you can call Math.cos(3.5) without ever having any object (instance) of the Math class
  • 16. 16 MethodVisibility • public/private distinction • A declaration of private meansthat “outside” methods can’t call it -- only methods within the same class can • Thus, for example, the main methodof theTest2 class could not have done double x = s1.degreesToRadians(2.2); •Attempting to do so would have resulted in an errorat compile time • Only say public for methods that you want to guarantee your class willmake available to users • You are free to change or eliminate private methods without telling users of your class about
  • 17. 17 Example 3: Constructors class Ship3 { public double x, y, speed, direction; public String name; public Ship3(double x, double y, double speed, double direction, String name) { this.x = x; // "this" differentiates instance vars this.y = y; // from local vars. this.speed = speed; this.direction = direction; this.name = name; } private double degreesToRadians(double degrees) { return(degrees * Math.PI / 180.0); } ...
  • 18. 18 Constructors (Continued) public void move() { double angle = degreesToRadians(direction); x = x + speed * Math.cos(angle); y = y + speed * Math.sin(angle); } public void printLocation() { System.out.println(name + " is at (" + x + "," + y + ")."); } } public class Test3 { public static void main(String[] args) { Ship3 s1 = new Ship3(0.0, 0.0, 1.0, 0.0, "Ship1"); Ship3 s2 = new Ship3(0.0, 0.0, 2.0, 135.0, "Ship2"); s1.move(); s2.move(); s1.printLocation(); s2.printLocation(); } }
  • 19. 19 Constructor Example: Results • Compiling and Running: javac Test3.java java Test3 •Output: Ship1 is at (1,0). Ship2 is at (-1.41421,1.41421).
  • 20. 20 Example 3: Major Points •Format of constructor definitions •The “this” reference
  • 21. 21 Constructors • Constructors are special functions called when a class is created with new • Constructorsare especially useful for supplying values of fields • Constructorsare declared through: public ClassName(args) { ... } • Notice that the constructorname must exactly match the class name • Constructorshave no return type(not even void), unlike a regular method • Java automatically provides a zero-argument constructorif and only if the class doesn’t define it’s own constructor • That’s why you could say Ship1 s1 = new Ship1(); in the first example,even though a constructor wasnever defined
  • 22. 22 The thisVariable • The this object reference can be used inside any non-staticmethod to refer to the current object • The common uses of the thisreference are: 1. To passa reference to thecurrent object as a parameter to other methods someMethod(this); 2. To resolve name conflicts • Using this permitsthe use of instance variablesin methodsthat have local variableswith the same name • Note that it is only necessary to say this.fieldName when you have a localvariable anda class field with the same name; otherwise just use fieldName with no this