WHAT IS A CLASS?
It is defined as a blueprint or a template from
which an object is declared
[access specifier] [modifiers] class <class name>
{
………………
Members of the class
……………....
}
2
RULES FOR NAMING A CLASS
A class name should not be a keyword in java
Name can begin with letter, an _ or $
Name should not contain embedded space or
period(.)
It can be of any length
3
WHAT IS AN OBJECT?
Its an instance of a class.
Its maintains its states in variables and
implements its behavior with its methods
<Class name><object name>;
Example
Student obj;
Obj=new Student();
Objt=new Student(..arguments);
Or
Student obj=new Student();
4
MEMBERS OF A CLASS
Members
of a class
variables
Instance variables Class variables
Methods
5
HOW TO DECLARE METHODS?
Syntax
[access specifier][modifier]<return_type>
method_name([Parameters])
{
//body
}
Example
int add(int a , int b)
{return (a+b);}
6
HOW TO ACCESS THE MEMBERS?
Obj.<member name>;
ClassName.<member>; for static members
7
PROBLEM
Create class named student whose members are
Name// to store student name
Roll //to store his roll no
Init_mem(parameters) //to initialize the members
Disp() // display name and roll
9
CONSTRUCTORS
1. A constructor is a special function having the
same name that of the class.
2. It has no return type
3. And is invoked through new operator
Syntax
[Modifier]<class_name>([Parameter list])
{
//Body of constructor
}
12
PROBLEM
Create class named student whose members
are
Name// to store student name
Roll //to store his roll no
Disp() // display name and roll
Implement
Default constructor
Parameter Constructor
Copy Constructors
14
class Student
{
String name;
int roll;
/*Student()
{ System.out.println("===Default===");}*/
Student(String n,int r)
{
name=n;
roll=r;
System.out.println("===parameter===");
}
void disp()
{System.out.println("nName is==>"+name+"nRoll no is==>"+roll);
}
}
17
Default
Commented
Parameter
C:myjavaStudentCClass.java:36: cannot find symbol
symbol : constructor Student()
location: class Student
Student st=new Student();
Student st=new Student();
WHAT ARE DESTRUCTORS?
Finalizers are methods that are called immediately
before an object is garbage collected
Syntax
protected void finalize()
{
}
18
KEYWORD “ THIS”
this is used to indicate the current object.
Class Color
{int r,g,b;
Color(int r, int g, int b)
{
r=r, g=g, b=b;
}
}
this.r=r, this.g=g,this.b=b;
19
PUBLIC
public class Student
{
public String name;
public int roll;
public void disp()
{………
……
}
}
Accessible from all other
classes
Inner classes cannot have
public access specifiers
Only one public class can
be declared in a source file
21
PRIVATE
Only objects of the same class
can have access to private
members
This provides highest degree of
protection
Subclasses cannot derived
private members
22
UNSPECIFIED/DEFAULT/FRIENDLY
If non of the access specifiers are specified then it
has package level access i.e all the classes in the
same package can access it.
24
CONCLUSION
25
None
/default
(package)
class
interface
member
Accessible only in its package
Accessible only in its package
Accessible only in its package
private member Accessible only in its class(which
defins it).
protected member Accessible only within its package
and its subclasses
public class
interface
member
Accessible anywhere
Accessible anywhere
Accessible anywhere its class is.
27
Modifier Used on Meaning
abstract class
interface
method
Contains unimplemented methods and cannot be instantiated.
All interfaces are abstract. Optional in declarations
No body, only signature. The enclosing class is abstract
final class
method
field
variable
Cannot be subclassed
Cannot be overridden and dynamically looked up
Cannot change its value. static final fields are compile-time
constants.
Cannot change its value.
native method Platform-dependent. No body, only signature
strictfp class
method
All methods in the class are implicitly strictfp.
All floating-point computation done is strictly conforms to
the IEEE 754 standard. All values including intermediate
results must be expressed as IEEE float or double values.
It is rarely used.
MODIFIERS….
MODIFIERS….
28
static class
method
field
initializer
Make an inner class top-level class
A class method, invoked through the class name.
A class field, invoked through the class name
one instance, regardless of class instances created.
Run when the class is loaded, rather than when an instance
is created.
synchronized method For a static method, a lock for the class is acquired before
executing the method. For a non-static method, a lock for
the specific
object instance is acquired.
transient field Not be serialized with the object, used with object
serializations.
volatile field Accessible by unsynchronized threads, very rarely used.
PROBLEM
Write a program in which when ever
an object is created of that class
it prints the no of objects created
till now
29