CMSC 202 CMSC 202, Advanced Section Classes and Objects In Java.
Classes, objects in JAVA
-
Upload
abhilash-nair -
Category
Education
-
view
1.366 -
download
4
description
Transcript of Classes, objects in JAVA
CLASSES, OBJECTS&
METHODSModule-2
TOPICS TO COVER Introduction.
Defining a class.
Creating Objects.
Accessing Class Members.
INTRODUCTION Underlying structure of each JAVA programs is
CLASSES.
CLASS
DATA ITEMS
FUNCTIONS
OBJECTSbasic program
Components
DEFINES
CREATE
METHODSOBJECTS
FIELDS
METHODS
CREATE
DEFINING A CLASS A class is a user-defined data type. Variables and Functions can be created within
class SYNTAX EXAMPLEclass classname { field declaration;
method declaration;
}
class area { int side; int length;}
There is no semi-colon after closing braces
Declaring variables
Instance variables are declared exactly as LOCAL variables
INSATNCE VARIABLES
METHOD DECLARATION Without methods class has NO LIFE. Since objects created by such class cannot respond to
any messages. Thus, methods are necessary for MANIPULATING DATA. SYNTAX EXAMPLE
type method-name(parameter list) {
}
Type of the value the method returns. It can be void, int, float, double
class area { int side; int length;void get(int s, int l) { side = s; length = l; }}
EXAMPLE FOR CREATING CLASSES
Design a class Account that stores customer name, account number, and type of account. Include necessary methods to achieve following tasks:- Deposit money. Display balance. Permit withdrawal and update balance.
An object in JAVA is essentially a block of memory that contains
space to store all the instance variables.
Creating an object also refers to INSTANTIATING AN OBJECT.
Objects in JAVA are created using new. The new operator dynamically
allocates memory for an object an returns a reference to it.
SYNTAX:-
CREATING OBJECTS
class area { int side; int length;void get(int s, int l) { side = s; length = l;}
classname objectname;objectname = new classname();
area a1;a1 = new area();
area a1 = new area();
combined
Allocates at run-timenull
a1
Indicates that it does not point to any object
a1
Values are to be assigned to variables in order to use them in
our programs.
Since we are outside the class, we cannot access the instance
variables and methods directly.
Object and dot operator are used to do this.
SYNTAX:-
objectname.variablename = value;
objectname.methodname(parameter-list);
ACCESSING CLASS MEMBERS
area a1 = new area();
a1.side = 10;
a1. get (10, 15);
class area { int side; int length;void get(int s, int l) { side = s; length = l;}
EXAMPLE
Constructors
Method Overloading
Constructor Overloading
Nesting of methods
JAVA allows objects to initialize themselves when they are created
CONSTRUCTORS
CONSTRUCTOR
PROPERTIES:-
• Initializes an object immediately upon creation.
• Same name as the class in which it resides and syntactically similar
to a method.
• Is called automatically after the object is created.
• Does not have return type.
EXAMPLE
NO RETURN TYPE
OUTPUT
Methods have same name, but different parameter list .
Is used when objects are required to perform similar tasks but
using different input parameters.
Also known as POLYMORPHISM.
Here, the aim is to provide several method definitions all with
same name, but different parameter lists.
The difference may either in number or type of arguments
METHOD OVERLOADING
Method’s return type does not play any role in this
In addition to overloading methods, you can also
overload constructor method
EXAMPLE
OVERLOADING CONSTRUCTORS
A method of a class can be called only by an object of that class using dot operator.
NESTING OF METHODS
EXCEPTION
A method can be called by using only its name by another method of the same
classNESTING OF METHODS
STATIC MEMBERS
Is used to define a member that is common to all objects and
accessed without using a particular object.
Thus member belongs to the class as a whole rather than the
objects created from the class.
Used when we want to have a variable common to all instances of
a class.
SYNTAX:-static int count;static int max(int x, int y)
STATIC MEMBERS
Class variables and Class methods
Referred to as
EXAMPLE
RESTRICTIONS FACED BY STATIC METHODS:-
They can only call other static methods.
They can only access static data.
They cannot refer to this or super in any
way.
STATIC
METHODS
ARE CALLED
USING CLASS
NAME
USING OBJECTS as PARAMETERS
We know how to pass simple types as parameters to methods.
It is possible, correct and common to pass OBJECTS to methods.
EXAMPLE
CALL by VALUE vs. CALL by REFERENCE
CALL BY VALUE CALL BY REFERANCE
This method copies the value of an argument into the formal parameter of the subroutine
In this method, reference to an argument is passed to the parameter.
Does not access actual argument
This reference is used to access the actual argument.
Thus, changes made to parameter of the subroutine have no effect on the argument.
Thus, changes made to parameter will have an effect on the argument.
EXAMPLE
CALL by VALUE:- Simple type arguments are passed to methods.
CALL by REFERENCE:- Objects are passed to methods
REMEMBER
RECURSION
JAVA supports recursion.
Recursion is the process of defining
something in terms of itself.
A method that calls itself is said to be
recursive.
VISIBILITY CONTROL
Visibility modifiers are used to restrict the access to certain variables and methods from outside the class.
Also known as ACCESS MODIFIERS.VisibilityLabels
PUBLICPRIVATE
PROTECTED
VISIBILITY CONTROL (Contd..)
PUBLIC Visible to entire class in which it is defined and All the class Outside
PRIVATE Enjoys highest degree of protection.Accessible only with their own class.Cannot be inherited, thus not accessible in sub-class.
Friendly When no access modifier is specified then the default version of public accessibility is known as “FRIENDLY”
PUBLIC Friendly
Makes fields visible in all classes, regardless of their packages
Makes fields visible only in the same package.
Group of related classes stored separately
PROTECTED Its level lies between PUBLIC ACCESS & FRIENDLY ACCESS.Makes the fields visible not only to all classes and subclasses in same package but also to subclasses in other packages