SlideShare a Scribd company logo
1
User Defined Class
Syntax: Defining Class
 General syntax for defining a class is:
modifieropt class ClassIdentifier
{
classMembers:
data declarations
methods definitions
}
 Where
modifier(s) are used to alter the behavior
of the class
classMembers consist of data declarations
and/or methods definitions.
2
Class Definition
 A class can contain data declarations and method
declarations
3
int size, weight;
char category;
Data declarations
Method declarations
UML Design Specification
4
UML Class Diagram
Class Name
What data does it need?
What behaviors
will it perform?
Public
methods
Hidden
information
Instance variables -- memory locations
used for storing the information needed.
Methods -- blocks of code used to
perform a specific task.
Class Definition: An Example
 public class Rectangle
 {
// data declarations
 private double length;
 private double width;
 //methods definitions
 public Rectangle(double l, double w) // Constructor method
 {
 length = l;
 width = w;
 } // Rectangle constructor
 public double calculateArea()
 {
 return length * width;
 } // calculateArea
 } // Rectangle class
5
Method Definition
 Example
6
 The Method Header
modifieropt ResultType MethodName (Formal ParameterList )
public static void main (String argv[ ] )
public void deposit (double amount)
public double calculateArea ( )
public void MethodName() // Method Header
{ // Start of method body
} // End of method body
Method Header
 A method declaration begins with a method header
7
int add (int num1, int num2)
method
name
return
type
Formal parameter list
The parameter list specifies the type
and name of each parameter
The name of a parameter in the method
declaration is called a formal parameter
Method Body
 The method header is followed by the method body
8
int add (int num1, int num2)
{
int sum = num1 + num2;
return sum;
}
The return expression
must be consistent with
the return type
sum is local data
Local data are
created each time
the method is called,
and are destroyed
when it finishes
executing
User-Defined Methods
 Methods can return zero or one value
Value-returning methods
○ Methods that have a return type
Void methods
○ Methods that do not have a return type
9
calculateArea Method.
public double calculateArea()
{
double area;
area = length * width;
return area;
}
10
Return statement
 Value-returning method uses a return
statement to return its value; it passes a
value outside the method.
 Syntax:return statement
return expr;
 Where expr can be:
Variable, constant value or expression
11
User-Defined Methods
 Methods can have zero or >= 1
parameters
No parameters
○ Nothing inside bracket in method header
1 or more parameters
○ List the paramater/s inside bracket
12
Method Parameters
- as input/s to a method
public class Rectangle
{
. . .
public void setWidth(double w)
{
width = w;
}
public void setLength(double l)
{
length = l;
}
. . .
}
13
Syntax: Formal Parameter List
(dataType identifier, dataType identifier....)
14
Note: it can be one or more dataType
Eg.
setWidth( double w )
int add (int num1, int num2)
Creating Rectangle Instances
 Create, or instantiate, two instances of the Rectangle
class:
15
The objects (instances)
store actual values.
Rectangle rectangle1 = new Rectangle(30,10);
Rectangle rectangle2 = new Rectangle(25, 20);
Using Rectangle Instances
 We use a method call to ask each object
to tell us its area:
16
rectangle1 area 300
rectangle2 area 500Printed output:
System.out.println("rectangle1 area " + rectangle1.calculateArea());
System.out.println("rectangle2 area " + rectangle2.calculateArea());
References to
objects
Method calls
Syntax : Object Construction
 new ClassName(parameters);
Example:
 new Rectangle(30, 20);
 new Car("BMW 540ti", 2004);
Purpose:
 To construct a new object, initialize it with
the construction parameters, and return a
reference to the constructed object.
17
The RectangleUser Class
Definition
public class RectangleUser
{
public static void main(String argv[])
{
Rectangle rectangle1 = new Rectangle(30,10);
Rectangle rectangle2 = new Rectangle(25,20);
System.out.println("rectangle1 area " +
rectangle1.calculateArea());
System.out.println("rectangle2 area " +
rectangle2.calculateArea());
} // main()
} // RectangleUser
18
An application must
have a main() method
Object
Use
Object
Creation
Class
Definition
Method Call
 Syntax to call a method
methodName(actual parameter list);
Eg.
segi4.setWidth(20.5);
obj.add (25, count);
19
Formal vs Actual Parameters
 When a method is called, the actual parameters in the
invocation are copied into the formal parameters in
the method header
20
int add (int num1, int num2)
{
int sum = num1 + num2;
return sum;
}
total = obj.add(25, count);
 public class RectangleUser
 {
 public static void main(String argv[])
 {
 Rectangle rectangle1 = new Rectangle(30.0,10.0);

 System.out.println("rectangle1 area " +
 rectangle1.calculateArea());
rectangle1.setWidth(20.0);
 System.out.println("rectangle1 area " +
 rectangle1.calculateArea());
 }
 }
21
Formal vs Actual Parameters
Method Overloading
 In Java, within a class, several methods
can have the same name. We called
method overloading
 Two methods are said to have different
formal parameter lists:
If both methods have a different
number of formal parameters
If the number of formal
parameters is the same in both
methods, the data type of the
formal parameters in the order we
list must differ in at least one
position 22
Method Overloading
 Example:
public void methodABC()
public void methodABC(int x)
public void methodABC(int x, double
y)
public void methodABC(double x, int
y)
public void methodABC(char x, double
y)
public void methodABC(String x,int y)
23
Java code for overloading
 public class Exam
 {
 public static void main (String [] args)
 {
 int test1=75, test2=68, total_test1, total_test2;
 Exam midsem=new Exam();
 total_test1 = midsem.result(test1);
 System.out.println("Total test 1 : "+ total_test1);
 total_test2 = midsem.result(test1,test2);
 System.out.println("Total test 2 : "+ total_test2);
 }
 int result (int i)
 {
 return i++;
 }

 int result (int i, int j)
 {
 return ++i + j;
 }
 }
24
 Output
Total test 1 : 75
Total test 2 : 144
25
Constructors Revisited
 Properties of constructors:
Name of constructor same as the name of class
A constructor,even though it is a method, it has no
type
Constructors are automatically executed when a
class object is instantiated
A class can have more than one constructors –
“constructor overloading”
○ which constructor executes depends on the type of
value passed to the constructor when the object is
instantiated
26
Java code (constructor
overloading)
public class Student
{ String name;
int age;
Student(String n, int a)
{ name = n; age = a;
System.out.println ("Name1 :" + name);
System.out.println ("Age1 :" + age);
}
Student(String n)
{
name = n; age = 18;
System.out.println ("Name2 :" + name);
System.out.println ("Age2 :" + age);
}
public static void main (String args[])
{
Student myStudent1=new Student("Adam",22);
Student myStudent2=new Student("Adlin");
}
} 27
28
Output:
Name1 :Adam
Age1 :22
Name2 :Adlin
Age2 :18
Object Methods & Class
Methods
 Object/Instance methods belong to
objects and can only be applied after the
objects are created.
 They called by the following :
objectName.methodName();
 Class can have its own methods known
as class methods or static methods
29
Static Methods
 Java supports static methods as well as static variables.
 Static Method:-
 Belongs to class (NOT to objects created from the class)
 Can be called without creating an object/instance of the
class
 To define a static method, put the modifier static in the
method declaration:
 Static methods are called by :
ClassName.methodName();
30
Java Code (static method)
public class Fish
{
public static void main (String args[])
{
System.out.println ("Flower Horn");
Fish.colour();
}
static void colour ()
{
System.out.println ("Beautiful Colour");
}
}
31
32
Output:
Flower Horn
Beautiful Colour

More Related Content

What's hot (20)

6. static keyword
6. static keyword
Indu Sharma Bhardwaj
 
Java string handling
Java string handling
Salman Khan
 
java interface and packages
java interface and packages
VINOTH R
 
Java constructors
Java constructors
QUONTRASOLUTIONS
 
Data Types & Variables in JAVA
Data Types & Variables in JAVA
Ankita Totala
 
Core java
Core java
Ravi varma
 
Wrapper classes
Wrapper classes
Kongu Engineering College, Perundurai, Erode
 
Java Constructor
Java Constructor
MujtabaNawaz4
 
Java static keyword
Java static keyword
Lovely Professional University
 
Java Course 8: I/O, Files and Streams
Java Course 8: I/O, Files and Streams
Anton Keks
 
I/O Streams
I/O Streams
Ravi Chythanya
 
Java awt (abstract window toolkit)
Java awt (abstract window toolkit)
Elizabeth alexander
 
Java abstract class & abstract methods
Java abstract class & abstract methods
Shubham Dwivedi
 
Classes, objects in JAVA
Classes, objects in JAVA
Abhilash Nair
 
Properties and indexers in C#
Properties and indexers in C#
Hemant Chetwani
 
Class or Object
Class or Object
Rahul Bathri
 
Static Members-Java.pptx
Static Members-Java.pptx
ADDAGIRIVENKATARAVIC
 
Python unit 3 m.sc cs
Python unit 3 m.sc cs
KALAISELVI P
 
Files in java
Files in java
Muthukumaran Subramanian
 
Class and Objects in Java
Class and Objects in Java
Spotle.ai
 

Similar to Class & Object - User Defined Method (20)

Chapter 6.6
Chapter 6.6
sotlsoc
 
Class & Object - Intro
Class & Object - Intro
PRN USM
 
Explain Classes and methods in java (ch04).ppt
Explain Classes and methods in java (ch04).ppt
ayaankim007
 
Chap-2 Classes & Methods.pptx
Chap-2 Classes & Methods.pptx
chetanpatilcp783
 
Basic concept of class, method , command line-argument
Basic concept of class, method , command line-argument
Suresh Mohta
 
Pi j2.2 classes
Pi j2.2 classes
mcollison
 
Java Foundations: Methods
Java Foundations: Methods
Svetlin Nakov
 
CJP Unit-1 contd.pptx
CJP Unit-1 contd.pptx
RAJASEKHARV10
 
Unit 1 Part - 3 constructor Overloading Static.ppt
Unit 1 Part - 3 constructor Overloading Static.ppt
DeepVala5
 
Lecture 5
Lecture 5
talha ijaz
 
Lec4
Lec4
Hemlathadhevi Annadhurai
 
class object.pptx
class object.pptx
Killmekhilati
 
Class & Objects in JAVA.ppt
Class & Objects in JAVA.ppt
RohitPaul71
 
Java Basics
Java Basics
Emprovise
 
Core Java unit no. 1 object and class ppt
Core Java unit no. 1 object and class ppt
Mochi263119
 
Java method
Java method
sunilchute1
 
CIS 1403 lab 3 functions and methods in Java
CIS 1403 lab 3 functions and methods in Java
Hamad Odhabi
 
IntroductionJava Programming - Math Class
IntroductionJava Programming - Math Class
sandhyakiran10
 
OOPSCA1.pptx
OOPSCA1.pptx
Soumyadipchanda2
 
Session 3 Constructors, Types, Overloading, Static MethodsNotes.pdf
Session 3 Constructors, Types, Overloading, Static MethodsNotes.pdf
tabbu23
 
Chapter 6.6
Chapter 6.6
sotlsoc
 
Class & Object - Intro
Class & Object - Intro
PRN USM
 
Explain Classes and methods in java (ch04).ppt
Explain Classes and methods in java (ch04).ppt
ayaankim007
 
Chap-2 Classes & Methods.pptx
Chap-2 Classes & Methods.pptx
chetanpatilcp783
 
Basic concept of class, method , command line-argument
Basic concept of class, method , command line-argument
Suresh Mohta
 
Pi j2.2 classes
Pi j2.2 classes
mcollison
 
Java Foundations: Methods
Java Foundations: Methods
Svetlin Nakov
 
CJP Unit-1 contd.pptx
CJP Unit-1 contd.pptx
RAJASEKHARV10
 
Unit 1 Part - 3 constructor Overloading Static.ppt
Unit 1 Part - 3 constructor Overloading Static.ppt
DeepVala5
 
Class & Objects in JAVA.ppt
Class & Objects in JAVA.ppt
RohitPaul71
 
Core Java unit no. 1 object and class ppt
Core Java unit no. 1 object and class ppt
Mochi263119
 
CIS 1403 lab 3 functions and methods in Java
CIS 1403 lab 3 functions and methods in Java
Hamad Odhabi
 
IntroductionJava Programming - Math Class
IntroductionJava Programming - Math Class
sandhyakiran10
 
Session 3 Constructors, Types, Overloading, Static MethodsNotes.pdf
Session 3 Constructors, Types, Overloading, Static MethodsNotes.pdf
tabbu23
 
Ad

More from PRN USM (18)

Graphical User Interface (GUI) - 2
Graphical User Interface (GUI) - 2
PRN USM
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1
PRN USM
 
File Input & Output
File Input & Output
PRN USM
 
Exception Handling
Exception Handling
PRN USM
 
Inheritance & Polymorphism - 2
Inheritance & Polymorphism - 2
PRN USM
 
Inheritance & Polymorphism - 1
Inheritance & Polymorphism - 1
PRN USM
 
Array
Array
PRN USM
 
Repetition Structure
Repetition Structure
PRN USM
 
Selection Control Structures
Selection Control Structures
PRN USM
 
Numerical Data And Expression
Numerical Data And Expression
PRN USM
 
Introduction To Computer and Java
Introduction To Computer and Java
PRN USM
 
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
PRN USM
 
Empowering Women Towards Smokefree Homes
Empowering Women Towards Smokefree Homes
PRN USM
 
Sfe The Singaporean Experience
Sfe The Singaporean Experience
PRN USM
 
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
PRN USM
 
Malaysian Health Promotion Board (Mhpb) Objectives, Functions And Priorities
Malaysian Health Promotion Board (Mhpb) Objectives, Functions And Priorities
PRN USM
 
Role Of Ng Os In Tobacco Control
Role Of Ng Os In Tobacco Control
PRN USM
 
Application Of Grants From Mhpb
Application Of Grants From Mhpb
PRN USM
 
Graphical User Interface (GUI) - 2
Graphical User Interface (GUI) - 2
PRN USM
 
Graphical User Interface (GUI) - 1
Graphical User Interface (GUI) - 1
PRN USM
 
File Input & Output
File Input & Output
PRN USM
 
Exception Handling
Exception Handling
PRN USM
 
Inheritance & Polymorphism - 2
Inheritance & Polymorphism - 2
PRN USM
 
Inheritance & Polymorphism - 1
Inheritance & Polymorphism - 1
PRN USM
 
Repetition Structure
Repetition Structure
PRN USM
 
Selection Control Structures
Selection Control Structures
PRN USM
 
Numerical Data And Expression
Numerical Data And Expression
PRN USM
 
Introduction To Computer and Java
Introduction To Computer and Java
PRN USM
 
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
PRN USM
 
Empowering Women Towards Smokefree Homes
Empowering Women Towards Smokefree Homes
PRN USM
 
Sfe The Singaporean Experience
Sfe The Singaporean Experience
PRN USM
 
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
PRN USM
 
Malaysian Health Promotion Board (Mhpb) Objectives, Functions And Priorities
Malaysian Health Promotion Board (Mhpb) Objectives, Functions And Priorities
PRN USM
 
Role Of Ng Os In Tobacco Control
Role Of Ng Os In Tobacco Control
PRN USM
 
Application Of Grants From Mhpb
Application Of Grants From Mhpb
PRN USM
 
Ad

Recently uploaded (20)

Introduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdf
TechSoup
 
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDM & Mia eStudios
 
What is FIle and explanation of text files.pptx
What is FIle and explanation of text files.pptx
Ramakrishna Reddy Bijjam
 
Unit 3 Poster Sketches with annotations.pptx
Unit 3 Poster Sketches with annotations.pptx
bobby205207
 
What are the benefits that dance brings?
What are the benefits that dance brings?
memi27
 
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
razelitouali
 
How to Manage & Create a New Department in Odoo 18 Employee
How to Manage & Create a New Department in Odoo 18 Employee
Celine George
 
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
parmarjuli1412
 
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Rajdeep Bavaliya
 
Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...
Vikas Bansal Himachal Pradesh: A Visionary Transforming Himachal’s Educationa...
Himalayan Group of Professional Institutions (HGPI)
 
ABCs of Bookkeeping for Nonprofits TechSoup.pdf
ABCs of Bookkeeping for Nonprofits TechSoup.pdf
TechSoup
 
ROLE PLAY: FIRST AID -CPR & RECOVERY POSITION.pptx
ROLE PLAY: FIRST AID -CPR & RECOVERY POSITION.pptx
Belicia R.S
 
Rai dyansty Chach or Brahamn dynasty, History of Dahir History of Sindh NEP.pptx
Rai dyansty Chach or Brahamn dynasty, History of Dahir History of Sindh NEP.pptx
Dr. Ravi Shankar Arya Mahila P. G. College, Banaras Hindu University, Varanasi, India.
 
Overview of Off Boarding in Odoo 18 Employees
Overview of Off Boarding in Odoo 18 Employees
Celine George
 
Black and White Illustrative Group Project Presentation.pdf (1).pdf
Black and White Illustrative Group Project Presentation.pdf (1).pdf
AnnasofiaUrsini
 
How to Manage Multi Language for Invoice in Odoo 18
How to Manage Multi Language for Invoice in Odoo 18
Celine George
 
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
BUSINESS QUIZ PRELIMS | QUIZ CLUB OF PSGCAS | 9 SEPTEMBER 2024
Quiz Club of PSG College of Arts & Science
 
Ray Dalio How Countries go Broke the Big Cycle
Ray Dalio How Countries go Broke the Big Cycle
Dadang Solihin
 
Basic English for Communication - Dr Hj Euis Eti Rohaeti Mpd
Basic English for Communication - Dr Hj Euis Eti Rohaeti Mpd
Restu Bias Primandhika
 
Overview of Employee in Odoo 18 - Odoo Slides
Overview of Employee in Odoo 18 - Odoo Slides
Celine George
 
Introduction to Generative AI and Copilot.pdf
Introduction to Generative AI and Copilot.pdf
TechSoup
 
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDMMIA Free Reiki Yoga S9 Grad Level Intuition II
LDM & Mia eStudios
 
What is FIle and explanation of text files.pptx
What is FIle and explanation of text files.pptx
Ramakrishna Reddy Bijjam
 
Unit 3 Poster Sketches with annotations.pptx
Unit 3 Poster Sketches with annotations.pptx
bobby205207
 
What are the benefits that dance brings?
What are the benefits that dance brings?
memi27
 
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
Energy Balances Of Oecd Countries 2011 Iea Statistics 1st Edition Oecd
razelitouali
 
How to Manage & Create a New Department in Odoo 18 Employee
How to Manage & Create a New Department in Odoo 18 Employee
Celine George
 
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
THERAPEUTIC COMMUNICATION included definition, characteristics, nurse patient...
parmarjuli1412
 
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Paper 108 | Thoreau’s Influence on Gandhi: The Evolution of Civil Disobedience
Rajdeep Bavaliya
 
ABCs of Bookkeeping for Nonprofits TechSoup.pdf
ABCs of Bookkeeping for Nonprofits TechSoup.pdf
TechSoup
 
ROLE PLAY: FIRST AID -CPR & RECOVERY POSITION.pptx
ROLE PLAY: FIRST AID -CPR & RECOVERY POSITION.pptx
Belicia R.S
 
Overview of Off Boarding in Odoo 18 Employees
Overview of Off Boarding in Odoo 18 Employees
Celine George
 
Black and White Illustrative Group Project Presentation.pdf (1).pdf
Black and White Illustrative Group Project Presentation.pdf (1).pdf
AnnasofiaUrsini
 
How to Manage Multi Language for Invoice in Odoo 18
How to Manage Multi Language for Invoice in Odoo 18
Celine George
 
Ray Dalio How Countries go Broke the Big Cycle
Ray Dalio How Countries go Broke the Big Cycle
Dadang Solihin
 
Basic English for Communication - Dr Hj Euis Eti Rohaeti Mpd
Basic English for Communication - Dr Hj Euis Eti Rohaeti Mpd
Restu Bias Primandhika
 
Overview of Employee in Odoo 18 - Odoo Slides
Overview of Employee in Odoo 18 - Odoo Slides
Celine George
 

Class & Object - User Defined Method

  • 2. Syntax: Defining Class  General syntax for defining a class is: modifieropt class ClassIdentifier { classMembers: data declarations methods definitions }  Where modifier(s) are used to alter the behavior of the class classMembers consist of data declarations and/or methods definitions. 2
  • 3. Class Definition  A class can contain data declarations and method declarations 3 int size, weight; char category; Data declarations Method declarations
  • 4. UML Design Specification 4 UML Class Diagram Class Name What data does it need? What behaviors will it perform? Public methods Hidden information Instance variables -- memory locations used for storing the information needed. Methods -- blocks of code used to perform a specific task.
  • 5. Class Definition: An Example  public class Rectangle  { // data declarations  private double length;  private double width;  //methods definitions  public Rectangle(double l, double w) // Constructor method  {  length = l;  width = w;  } // Rectangle constructor  public double calculateArea()  {  return length * width;  } // calculateArea  } // Rectangle class 5
  • 6. Method Definition  Example 6  The Method Header modifieropt ResultType MethodName (Formal ParameterList ) public static void main (String argv[ ] ) public void deposit (double amount) public double calculateArea ( ) public void MethodName() // Method Header { // Start of method body } // End of method body
  • 7. Method Header  A method declaration begins with a method header 7 int add (int num1, int num2) method name return type Formal parameter list The parameter list specifies the type and name of each parameter The name of a parameter in the method declaration is called a formal parameter
  • 8. Method Body  The method header is followed by the method body 8 int add (int num1, int num2) { int sum = num1 + num2; return sum; } The return expression must be consistent with the return type sum is local data Local data are created each time the method is called, and are destroyed when it finishes executing
  • 9. User-Defined Methods  Methods can return zero or one value Value-returning methods ○ Methods that have a return type Void methods ○ Methods that do not have a return type 9
  • 10. calculateArea Method. public double calculateArea() { double area; area = length * width; return area; } 10
  • 11. Return statement  Value-returning method uses a return statement to return its value; it passes a value outside the method.  Syntax:return statement return expr;  Where expr can be: Variable, constant value or expression 11
  • 12. User-Defined Methods  Methods can have zero or >= 1 parameters No parameters ○ Nothing inside bracket in method header 1 or more parameters ○ List the paramater/s inside bracket 12
  • 13. Method Parameters - as input/s to a method public class Rectangle { . . . public void setWidth(double w) { width = w; } public void setLength(double l) { length = l; } . . . } 13
  • 14. Syntax: Formal Parameter List (dataType identifier, dataType identifier....) 14 Note: it can be one or more dataType Eg. setWidth( double w ) int add (int num1, int num2)
  • 15. Creating Rectangle Instances  Create, or instantiate, two instances of the Rectangle class: 15 The objects (instances) store actual values. Rectangle rectangle1 = new Rectangle(30,10); Rectangle rectangle2 = new Rectangle(25, 20);
  • 16. Using Rectangle Instances  We use a method call to ask each object to tell us its area: 16 rectangle1 area 300 rectangle2 area 500Printed output: System.out.println("rectangle1 area " + rectangle1.calculateArea()); System.out.println("rectangle2 area " + rectangle2.calculateArea()); References to objects Method calls
  • 17. Syntax : Object Construction  new ClassName(parameters); Example:  new Rectangle(30, 20);  new Car("BMW 540ti", 2004); Purpose:  To construct a new object, initialize it with the construction parameters, and return a reference to the constructed object. 17
  • 18. The RectangleUser Class Definition public class RectangleUser { public static void main(String argv[]) { Rectangle rectangle1 = new Rectangle(30,10); Rectangle rectangle2 = new Rectangle(25,20); System.out.println("rectangle1 area " + rectangle1.calculateArea()); System.out.println("rectangle2 area " + rectangle2.calculateArea()); } // main() } // RectangleUser 18 An application must have a main() method Object Use Object Creation Class Definition
  • 19. Method Call  Syntax to call a method methodName(actual parameter list); Eg. segi4.setWidth(20.5); obj.add (25, count); 19
  • 20. Formal vs Actual Parameters  When a method is called, the actual parameters in the invocation are copied into the formal parameters in the method header 20 int add (int num1, int num2) { int sum = num1 + num2; return sum; } total = obj.add(25, count);
  • 21.  public class RectangleUser  {  public static void main(String argv[])  {  Rectangle rectangle1 = new Rectangle(30.0,10.0);   System.out.println("rectangle1 area " +  rectangle1.calculateArea()); rectangle1.setWidth(20.0);  System.out.println("rectangle1 area " +  rectangle1.calculateArea());  }  } 21 Formal vs Actual Parameters
  • 22. Method Overloading  In Java, within a class, several methods can have the same name. We called method overloading  Two methods are said to have different formal parameter lists: If both methods have a different number of formal parameters If the number of formal parameters is the same in both methods, the data type of the formal parameters in the order we list must differ in at least one position 22
  • 23. Method Overloading  Example: public void methodABC() public void methodABC(int x) public void methodABC(int x, double y) public void methodABC(double x, int y) public void methodABC(char x, double y) public void methodABC(String x,int y) 23
  • 24. Java code for overloading  public class Exam  {  public static void main (String [] args)  {  int test1=75, test2=68, total_test1, total_test2;  Exam midsem=new Exam();  total_test1 = midsem.result(test1);  System.out.println("Total test 1 : "+ total_test1);  total_test2 = midsem.result(test1,test2);  System.out.println("Total test 2 : "+ total_test2);  }  int result (int i)  {  return i++;  }   int result (int i, int j)  {  return ++i + j;  }  } 24
  • 25.  Output Total test 1 : 75 Total test 2 : 144 25
  • 26. Constructors Revisited  Properties of constructors: Name of constructor same as the name of class A constructor,even though it is a method, it has no type Constructors are automatically executed when a class object is instantiated A class can have more than one constructors – “constructor overloading” ○ which constructor executes depends on the type of value passed to the constructor when the object is instantiated 26
  • 27. Java code (constructor overloading) public class Student { String name; int age; Student(String n, int a) { name = n; age = a; System.out.println ("Name1 :" + name); System.out.println ("Age1 :" + age); } Student(String n) { name = n; age = 18; System.out.println ("Name2 :" + name); System.out.println ("Age2 :" + age); } public static void main (String args[]) { Student myStudent1=new Student("Adam",22); Student myStudent2=new Student("Adlin"); } } 27
  • 29. Object Methods & Class Methods  Object/Instance methods belong to objects and can only be applied after the objects are created.  They called by the following : objectName.methodName();  Class can have its own methods known as class methods or static methods 29
  • 30. Static Methods  Java supports static methods as well as static variables.  Static Method:-  Belongs to class (NOT to objects created from the class)  Can be called without creating an object/instance of the class  To define a static method, put the modifier static in the method declaration:  Static methods are called by : ClassName.methodName(); 30
  • 31. Java Code (static method) public class Fish { public static void main (String args[]) { System.out.println ("Flower Horn"); Fish.colour(); } static void colour () { System.out.println ("Beautiful Colour"); } } 31

Editor's Notes

  • #10: Ada 2 kategori method 1.Method yg dpt pulangkan nilai-guna return 2.Void methodtak dpt pulangkan nilai
  • #13: Ada 2 kategori method 1.Method yg dpt pulangkan nilai-guna return 2.Void methodtak dpt pulangkan nilai
  • #15: Semasa panggilan method dilakukan, boleh ada lebih dari satu jenis data pada parameter.
  • #20: Sintak untuk memanggil method yang boleh pulangkan nilai (mesti ada parameter semasa panggilan dilakukan)
  • #24: Method methodABC() merupakan satu contoh method overloading dalam satu kelas