0 ratings0% found this document useful (0 votes) 46 views36 pagesJava Unit-1 Notes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
Unit-1
OOP Concepts
Object Oriented Programming is a paradigm that provides many concepts such as
inheritance, data binding, polymorphism ete.
Simula is considered as the first object-oriented programming language. The programming
paradigm where everything is represented as an object is known as truly object-oriented
programming language.
Smalitalk is considered as the first truly object-oriented programming language.
OOPs (Object Oriented Programming System)
Object means a real word entity such as pen, chair, table etc. Object-Oriented Programming is
a methodology or paradigm to design a program using classes and objects. It simplifies the
software development and maintenance by providing some concepts:
© Object
© Class
© Inheritance
© Polymorphism
© Abstraction
capsulation
Object
Any entity that has state and behavior is known as an object. For example: chair, pen, table,
keyboard, bike ete. It can be physical and logical.
Class
Collection of objects is called class. It is a logical entity.
Inheritance
‘When one object acquires all the properties and behaviours of parent object i.e. known as
inheritance. It provides code reusability. It is used to achieve runtime polymorphism.
JAVA PROGRAMMING Page 1Polymorphism
When one task is performed by different ways i.e. known as polymorphism. For example: to
convince the customer differently, to draw something e.g. shape or rectangle ete.
In java, we use method overloading and method overriding to achieve polymorphism,
Another example can be to speak something e.g. cat speaks meaw, dog barks woof ete.
Abstraction
Hiding internal details and showing functionality is known as abstraction, For example: phone
call, we don’t know the internal processing.
In java, we use abstract class and interface to achieve abstraction.
Encapsulation
Binding (or wrapping) code and data together into a single unit is known as encapsulation.
For example: capsule, it is wrapped with different medicines.
AA java class is the example of encapsulation. Java bean is the fully encapsulated class because all
the data members are private here.
Benefits of Inheritance
‘One of the key benefits of inheritance is to minimit
the amount of duplicate code in an
application by sharing common code amongst several subclasses. Where equivalent code
exists in two related classes, the hierarchy can usually be refactored to move the common
code up to a mutual superclass, This also tends to result in a better organization of code and
smaller, simpler compilation units
+ Inheritance can also make application code more flexible to change because classes that
inherit from a common superclass can be used interchangeably. If the return type of a
method is superclass
+ Reusability - facility to use public methods of ba
class without rewriting the same.
+ Extensibil
~ extending the base class logic as per business logic of the derived class,
JAVA PROGRAMMING Page 2+ Data hiding - base class can decide to keep some data private so that it eannot be
altered by the derived class
Procedural and object oriented programming paradigms
Feat
Procedural Or
Programming (POP)
ed
Object Oriented
Programming (OOPS)
sequence of actions to be
done.
Divided into In POP, program is divided | in OOPs . the program is
into smaller parts called as | divided into parts known as
functions. objects.
Tmportance In POP. importance is not| In OOPs, Importance is
given to data but to | given to the data mather than
functions aswell as or functions
because i works as a real
world
access specifier
Approach POP fellows Top Down | COPs follows Bottom Up
approach. approach.
Access Specifiers POP does not have any | OOPs has access specifiers
Private,
Data Moving
In POP,
fieely
function in the system.
Data can move
fom famection to
In OOPs. objects can move
and communicate with each
other through
Data Access
In POP, Most function uses
Global data for sharing th:
an be accessed freely from
In OOPs. daia can not move
from function to
Function it kept
easily
can be
proper way for hiding data
so it is less secure.
Function to fiction in the | public or private so we ean
system control the access of dats
Data Hiding POP does not have any | OOPs provides Data Hiding
so provides mare secu
In POP. Overlosdling 4
Tn OOPs. overl
possible possible in the of
Function Overloading and
Operator Overloading
Examples ©. VB. FORTRAN, Paseal + JAVA, VB.NET
c
CANET
JAVA PROGRAMMING
Page 3Java Programming- History of Java
The history of java starts from Green Team. Java team members (also known
as Green Team), initiated a revolutionary task to develop a language for digital
devices such as set-top boxes, televisions ete.
For the green team members, it was an advance concept at that time. But, it was
suited for internet programming. Later, Java technology as incorporated by
Netscape.
Currently, Java is used in internet programming, mobile devices, games, e-business
solutions etc, There are given the major points that describes the history of java.
1) James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java
language project in June 1991. The small team of sun engineers called Green
Team.
2) Originally designed for small, embedded systems in electronic appliances like set-
top boxes.
3) Firstly, it was called "Greentalk” by James Gosling and file extension was .at.
4) After that, it was called Oak and was developed as a part of the Green
project.
Java Version History
There are many java versions that has been released, Current stable release of Java
is Java SE 8.
1. JDK Alpha and Beta (1995)
2. JDK 1.0 (23rd Jan, 1996)
3. JDK 1.1 (19th Feb, 1997)
4, J2SE 1.2 (8th Dec, 1998)
5, J2SE 1.3 (8th May, 2000)
6. J2SE 1.4 (6th Feb, 2002)
7. J2SE 5.0 (30th Sep, 2004)
8. Java SE 6 (11th Dec, 2006)
9. Java SE 7 (28th July, 2011)
10.Java SE 8 (18th March, 2014)
JAVA PROGRAMMINGFeatures of Java
There is given many features of java. They are also known as java buzzwords. The Java Features
given below are simple and easy to understand
Simple
Object-Oriented 7 (ject Oriented
Portable
Platform independent
Secured pert
mf NI Le
Architecture neutral
<——— Features of Java. ————>
Dynamic ven
Interpreted a =
10. High Performance
eros
11. Multithreaded
12.Distributed
Dynami Architecture Portable
Newtal
Java Comments
The java comments are statements that are not executed by the compiler and interpreter. The
comments can be used to provide information or explanation about the variable, method, class or
any statement. It can also be used to hide program code for specific time.
‘Types of Java Comments
There are 3 types of comments in java.
1. Single Line Comment
2. Multi Line Comment
3. Documentation Comment
Java Single Line Comment
The single line comment is used to comment only one line,
Syntax:
This is single line comment
JAVA PROGRAMMINGExample:
public class CommentExample! {
public static void main(String[] args) {
int i=10;/Here, iis a variable
System.out.println(i);
Output:
10
Java Multi Line Comment
‘The multi fine comment is used to comment multiple lines of code.
Syntax:
This
is
multi line
comment
Example:
public class CommentExample2 {
public static void main(String[] args) {
Let's declare and
print variable in java. *
int i=10;
System.out.printin(i);
yy
Output:
10
JAVA PROGRAMMINGJava Documentation Comment
The documentation comment is used to create documentation API. To create documentation API, you need
to-use javadoc tool.
Syntax:
This
documentation
comment
Example:
** The Calculator class provides methods to get addition and subtraction of given 2-mumbers.*
public class Calculator {
** The add() method returns addition of given numbers.*
public static int add(int a, int b) {return a*b;}
/** The subg) method returns subtraction of given numbers.
public static int sub(int a, int b)freturn a
Compile it by javac tool:
Javac Caleulatorjava
Create Documentation API by javadoc tool
javadoc Caleulatorjava
Now, there will be HTML files created for your Calculator class in the current directory. Open the HTML
files and see the explanation of Calculator class provided through documentation comment.
JAVA PROGRAMMINGData Types
Data types represent the different values to be stored inthe variable, In java, there are two types of data types:
Primitive data types
‘© Non-primitive date types
string
Array
7I™N Z™
boolean char byte short Int long float double
Default Value Detait size
Java Variable Example:
class Simple{
public statie void main(String[] args){
int a=10;
b=10;
emai;
System.out.println(e);
n
Output:20
JAVA PROGRAMMINGVariables and Data Types in Java
Variable is a name of memory location. There are three types of variables in java: local, instance
and static.
There are two types of data types in java: primitive and non-primitive.
Types of Variable
There are three types of variables in java:
© local variable
© instance variable
© static variable
1) Local Variable
A variable which is declared inside the method is called local variable.
2) Instance Variable
A variable which is declared inside the class but outside the method, is called instance variable . It
is not declared as static
3) Static variable
A variable that is declared as static is called static variable, It cannot be local.
We will have detailed learning of these variables in next cl
plers.
Example to understand the types of variables in java
class Af
int data=S0,/instance variable
static int m=100;//static variable
void method(){
int n=90;//local variable
,
end of class
Constants in Java
A constant is a variable which cannot have its value changed after declaration, It uses the final’
keyword.
Syntax
modifier final dataType variableName = value; //zlobal constant
modifier static final dataType variableName = value; /constant within a
JAVA PROGRAMMING Page 9Scope and Life Time of Variables
The scope of a variable defines the section of the code in which the variable is visible, As a
general rule, variables that are defined within a block are not accessible outside that block.
The lifetime of a variable refers to how long the variable exists before it is destroyed.
Destroying variables refers to deallocating the memory that was allotted to the variables when
declaring it. We have written a few classes till now. You might have observed that not all
variables are the same, The ones declared in the body of a method were different from those
itself. There are three types of variables: instance variables,
formal parameters or local variables and local variables.
that were declared in the class
Instance variables
Instance variables are those that are defined within a class its
elf and not in any method or
constructor of the class. They are known as instance variables because every instance of the
class (object) contains a copy of these variables. The scope of instance variables is determined
by the access specifier that is applied to these variables. We have already seen about it earlier,
The lifetime of these variables is the same as the lifetime of the object to which it belongs.
Object once created do not exist for ever. They are destroyed by the garbage collector of Java
when there are no more reference to that object. We shall see about Java's automatic garbage
collector later on,
Argument variables
These are the variables that are defined in the header oaf constructor or a method. The scope
of these variables is the method or constructor in which they are defined. The lifetime is
limited to the time for which the method keeps executing. Once the method finishes
execution, these variables are destroyed,
Local variables
‘A local variable is the one that is declared within a method or a constructor (not in the
header). The scope and lifetime are limited to the method itself.
One important distinction between these three types of variables is that access specifiers can
bbe applied to instance variables only and not to argument or local variables.
In addition to the local variables defined in a method, we also have variables that are defined
in bocks life an if block and an else block. The scope and is the same as that of the block
itself,
JAVA PROGRAMMING Page 10Operators in java
Operator in java is a symbol that
used to perform operations. For example: +, -*, / ete
‘There are many types of operators in java which are given below:
© Unary Operator,
© Arithmetic Operator,
© shift Operator,
© Relational Operator,
© Bitwise Operator,
© Logical Operator,
© Temary Operator and
© Assignment Operator.
Operators Hierarchy
Operator Precedence
Operators
Precedence
postfix
unary
multiplicative *
additive =
‘hit << 32 23>
relational coe
equality ae
bitwise AND
bitwise exclusive OR
bitwise inclusive OR |] |
logical AND se
logical OR
ternary
assignment -
JAVA PROGRAMMING
Page 11Expressions
Expressions are essential building blocks of any Java program, usually created to produce a new
value, although sometimes an expression simply assigns a value to a variable, Expressions are
built using values, variables, operators and method calls,
Types of Expressions
While an expression frequently produces a result, it doesn’t always. There are three types of
expressions in Java:
+ Those that produce a value, ie. the result of (1+ 1)
+ Those that assign a variable, for example (v~ 10)
+ Those that have no result but might have a "side effect" because an expression can include
a wide range of elements such as method invocations or increment operators that modify
the state (i.e. memory) of a program.
Java Type casting and Type conversion
Widening or Automatic Type Conversion
‘Widening conversion takes place when two data types are automatically converted. This happens
when:
+ The two datatypes are compatibte
+ When we assign value of «smaller data pe toa bigger date type.
For Example, in java the numeric data types are compatible with each other but no automatic
conversion is supported from numeric type to char or boolean, Also, char and boolean are not
compatible with each other,
Byte —> Short —> Int —> Long — > Float -> Double
Widening or Automatic Conversion
Narrowing or Explicit Conversion
If we want to assign a value of larger data type to a smaller data type we perform explicit type
casting or narrowing,
+ This is useful for incompatible data types where automatic conversion cannot be done.
+ Here, target-type specifies the desired type to convert the specified value to.
Double —> Float —> Long —-> Int —> Short —> Byte
. Narrowing or Explicit Conversion
JAVA PROGRAMMING Page 12Java Enum
Enum in java is a data type that contains fixed set of constants,
It can be used for days of the week (SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY and SATURDAY) , directions (NORTH, SOUTH, EAST and WEST)
etc. The java enum constants are static and final implicitly. It is available from JDK 1.5.
Java Enums can be thought of as classes that have fixed set of constants.
Simple example of java enum
class EnumExample! {
public enum Season { WINTER, SPRING, SUMMER, FALL }
publie static void main(String{] args) {
for (Season s ; Season.values())
System.out printin(s);
n
Output:
WINTER
SPRING
SUMMER,
FALL
Control Flow Statements
The control flow statements in Java allow you to run or skip blocks of code when special
conditions are met.
The “if” Statement
The “if” statement in Java works exactly like in most programming languages. With the help of
“if” you can choose to execute a specific block of code when a predefined condition is met. The
structure of the “if” statement in Java looks like this:
if (condition) {
JAVA PROGRAMMING Page 13,The condition is Boolean, Boolean means it may be true or false. For example you may put a
mathematical equation as condition. Look at this full example:
Control Statement
ag
‘Looping starement smmmping statement
“r™~ i
al Decision making for loop while loop do while loop wreak contimne
‘Statement
a switch
itebe
elselt
Nestea it
Creating a Stand-Alone Java Application
1. Write a main method that runs your program, You can write this method anywhere. In this
example, I'll write my main method in a class called Main that has no other methods. For
exampk
2. public class Main
3
4. public static void main(String[] args)
5. {
6. Gameplay();
7. hh
8. Make sure your code is compiled, and that you have tested it thoroughly.
9. Ifyou're using Windows, you will need to set your path to include Java, if you haven't
done so already. This is a delicate operation. Open Explorer, and look inside
CAProgramFiles\Java, and you should see some version of the IDK. Open this folder, and
then open the bin folder. Select the complete path from the top of the Explorer window, and.
press Ctrl-C to copy it
‘Next, find the "My Computer” icon (on your Start menu or desktop), right-click it, and select,
properties. Click on the Advanced tab, and then click on the Environment variables button.
Look at the variables listed for all users, and click on the Path variable. Do not delete the
contents of this variable! Instead, edit the contents by moving the cursor to the right end,
entering a semicolon (;), and pressing Ctrl-V to paste the path you copied earlier. Then go
ahead and save your changes. (If you have any Cmd windows open, you will need to close
them.)
10, If you're using Windows, go to the Start menu and type "cmd" to run a program that
brings up a command prompt window. If you're using a Mac or Linux machine, run the
Terminal program to bring up a command prompt.
1, In Windows, type dir at the command prompt to list the contents of the current directory.
On a Mac or Linux machine, type Is to do this.
JAVA PROGRAMMING Page 1412, Now we want to change to the directory/folder that contains your compiled code. Look at
the listing of sub-directories within this directory, and identify which one contains your code.
Type ed followed by the name of that directory, to change to that directory. For example, to
change to a directory called Desktop, you would type:
ed Desktop
To change to the parent directory, type:
ed.
Every time you change to a new directory, list the contents of that directory to see where to go
next, Continue listing and changing directories until you reach the directory that contains
your .class files,
13, If you compiled your program using Java 1.6, but plan to run it on a Mac, you'll need to
recompile your code from the command line, by typing:
Jjavae -target 1.5 * java
14, Now welll create a single JAR file containing all of the files needed to run your program.
Arrays
Java provides a data structure, the array, which stores a fixed-size sequential collection of
elements of the same type. An array is used to store a collection of data, but it is often more
useful to think of an array as a collection of variables of the same type
Instead of declaring individual variables, such as number0, numberl, ..., and number99, you
declare one array variable such as numbers and use numbers{0], numbers[1], and ...,
numbers[99] to represent individual variables.
This tutorial introduces how to declare array variables, create arrays, and process arrays using
indexed variables.
Declaring Array Variables:
‘To use an array in a program, you must declare a variable to reference the array, and you must
specify the type of array the variable can reference. Here is the syntax for declaring an array
variable:
dataType{] arrayRefVar; // preferred way.
or
dataType arrayRefVarl];// works but not preferred way.
Note: The style dataType[] _arrayRefVar is preferred. The _style_dataType
arrayRefVar[] comes from the C/C++ language and was adopted in Java to accommodate
CIC+ programmers.
‘ample:
JAVA PROGRAMMING Page 15The following code snippets are examples of this syntax:
double[] myList; _// preferred way.
double myList[]; _// works but not preferred way.
Creating Arrays:
‘You can create an array by using the new operator with the following syntax:
arrayRefVar = new dataType(arraySize];
The above statement does two things:
+ It creates an array using new dataType[arraySize];
+ Itassigns the reference of the newly created array to the variable arrayRefVar.
Declaring an array variable, creating an array, and assigning the reference of the array to the
variable can be combined in one statement, as shown below:
data ype[] arrayRefVar = new dataType[arraySize);
Altematively you can create arrays as follows:
dataType{] arrayRefVar = {value0, valuel, ..., valuek};
The array elements are accessed through the index. Array indices are 0-based; that is, they start
from 0 to arrayRefVar.length-L
Example:
Following statement declares an array variable, myList, creates an array of 10 elements of
double type and assigns its reference to myList
double[] myList = new double{10];
Following picture represents array n
are from 0 to 9,
st. Here, myList holds ten double values and the indices
JAVA PROGRAMMING Page 16“1 ist [reference sent EE
| myLisify] [45
Array reference mytist?]
variable myLis{3]
List|]
> nvhistf5}
Array element at
index S
myList{6)
inyLis({7]
myList[8)
anyLisi[9}
Processing Arrays:
When processing array elements, we often use either for loop of for each loop because all of the
elements in an array are of the same type and the size of the array is known.
Example:
Here is a complete example of showing how to create, initialize and process arrays:
public class TestArray
{
public static void main(String{] args) {
double[] myList = (1.9, 2.9, 3.4.3.5};
Print all the array elements
for (int i = 0; i < myList length; i++) {
System.out println(myList[i] +"
I
// Summing all elements
double total
for (int i= 0; i max) max = myList{i];
JAVA PROGRAMMING Page 17This would produce the following result:
19
29
34
35
Total is 11.7
Max is 3.5
public class TestArray {
public static void main(String(] args) {
double[] myList = (1.9, 2.9, 3.4, 3.5};
/ Print all the array elements
for (double element: myList) {
System out printin(element);
By
Java Console Class
The Java Console class is be used to get input from console. It provides methods to read texts and
passwords,
If you read password using Console class, it will not be displayed to the user:
The java.io.Console class is attached with system console internally. The Console class is
introduced since 1.5
a simple example to read text from console.
String text=System.console().readLine();
System.out printin("Text is: "Htext);
Java Console Example
import java.io.Console;
class ReadStringTest{
public statie void main(String args[)){
Console e=System.console();
System.out.println("Enter your name: ");
String n-c.readLine();
stem.out printin("Welcome +n); }_}
JAVA PROGRAMMING1
Output
Enter your name: Nakul Jain
Welcome Nakul Jain
Constructors
Constructor in java is a special type of method that is used to initialize the object.
Java constructor is invoked at the time of object creation. It constructs the values i.e, provides data
for the object that is why it is known as constructor:
There are basically two rules defined for the constructor
1. Constructor name must be same as its class name
2. Constructor must have no explicit return type
Types of java constructors
There are two types of constructors:
1. Default constructor (no-arg constructor)
2. Parameterized constructor
Java Default Constructor
A constructor that have no parameter is known as default constructor,
Syntax of default constructor:
(){}
Example of default constructor
In this example, we are creating the no-arg constructor in the Bike class. It will be invoked at
the time of object creation,
class Bikel {
Bikel(){System.out printin("Bike is created");}
public static void main(String args{]){
Bikel b=new Bikel();
yy
Output: Bike is created
JAVA PROGRAMMINGExample of parameterized constructor
In this example, we have created the constructor of Student class that have two parameters. We
can have any number of parameters in the constructor
class Student4{
int id;
String name;
Studenta(int i,String n){
id=
name =n;
}
void display() {System.out.printin(id+" "'name);}
public static void main(String args{]){
Student4 s1 = new Student4(111,"Karan");
Student4 s2 = new Student4(222,"Aryan");
sl.display0;
s2.display();
th
Output:
111 Karan,
222 Aryan
Constructor Overloading in Jaya
Constructor overloading is a technique in Java in which a class can have any number of
constructors that differ in parameter lists, The compiler differentiates these constructors by
taking into account the number of parameters in the list and their type.
Example of Constructor Overloading
class Student5 {
int id;
String name
int age;
Student5(int i,String n){
‘Void display() {System.out printin(idt" "*name+" "+age);}
public static void main(String args[}){
Students s1 = new Student5(11,"Karan");
Student5 s2 = new Student5(222,"Aryan",25);
s1.display();
JAVA PROGRAMMINGs2.displayQ);
Bb
Output:
111 Karan 0
222 Aryan 25
Java Copy Constructor
‘There is no copy constructor in java, But, we can copy the values of one object to another like
copy constructor in C++,
‘There are many ways to copy the values of one object into another in java. They are:
By constructor
oBy assigning the values of one object into another
oBy clone() method of Object class
In this example, we are going to copy the values of one object into another using java
constructor.
class Student6{
int id;
String name;
Student6(int i,String n){
Student6(Student6 s){
id= s.id;
name =s.name;
}
void display(){System out printin(id" "+name);}
public static void main(String args[]){
Student6 s1 = new Student6(111,"Karan");
Student6 s2 = new Student6(s1);
sl display;
s2.display();
a
Output:
111 Karan,
111 Karan
JAVA PROGRAMMINGJava -Methods
A Java method is a collection of statements that are grouped together to perform an operation,
When you call the System.out.printing method, for example, the system actually executes
several statements in order to display a message on the console.
Now you will lean how to create your own methods with or without return values, invoke a
‘method with or without parameters, and apply method abstraction in the program design.
Creating Method
Considering the following example to explain the syntax of a method —
Syntax
public static int methodName(int a, int b) {
body
public static ~ modifier
int - return type
methodName ~ name of the method
a, b — formal parameters
int a, int b — list of parameters
Method definition consists of a method header and a method body. The same is shown in the
following syntax —
Syntax
‘modifier returnType nameOfMethod (Param
i/ method body
t
‘The syntax shown above includes ~
+ modifier — It defines the access type of the method and it is optional to use.
+ returnType ~ Method may return a value.
+ nameOfMethod - This is the method name. The method signature consists of the method
name and the parameter list.
JAVA PROGRAMMING+ Parameter List ~ The list of parameters, itis the type, order, and number of parameters
of'a method. These are optional, method may contain zero parameters,
method body — The method body defines what the method does with the statements.
Call by Value and Calll by Reference in Java
‘There is only call by value in java, not call by reference. If we call a method passing a value, it
is known as call by value,
the changes being done in the called method, is not affected in the
calling method.
Example of call by value in java
In case of call by value original value is not changed. L
take a simple example:
class Operation,
int data=50;
void change(int data){
data=data+1003//changes will be in the local variable only
I
public static void main(String args{]){
Operation op=new Operation();
System.out printin("before change "-+op.data);
op.change(500);,
‘System.out printin( "after change "+op.data);
}
3
Output:before change 50
after change 50
In Java, parameters are always passed by value. For example, following program prints
i=10,}=20.
/) Test.java
Test {
1 swap() doesn't swap i and j
public static void swap(Integer i, Integer j) {
Integer temp = new Integer(i);
iris
j=temp;
3
public static void main(String(] args) {
Integer i = new Integer(10);,
Integer j = new Integer(20);
swapti,j)s
System out printin(’
cl
"Sian jer eps
JAVA PROGRAMMING Page 23,Static Fields and Methods
The sti
keyword in java is used for memory management mainly. We can apply java static
Keyword with variables, methods, blocks and nested class. The static keyword belongs to the class
‘than instance of the class.
The static can be:
1. variable (also known as class variable)
2. method (also known as class method)
3. block
4. nested class
Jaya static variable
Ifyou declare any variable as static, itis known static variable.
‘© The static variable can be used to refer the common property of all objects (that is not unique for
each object) e.g. company name of employees,college name of students ete
© The static variable gets memory only once in class area at the time of class loading.
Advantage of static variable
It makes your program memory efficient (ic it saves memory)
Understanding problem without static variable
1. class Student{
2. introllno;
3. String name;
4, String college="ITS";
5.3
Example of static variable
Program of static variable
lass Student {
int rollno;
JAVA PROGRAMMING Page 24String name:
static String college ~"ITS"
Student8(intr,String n){
rollin
)
void display ( {System out printingolino#" "¥name+" "+colloge);}
public static void main(String args{]){
Student® s1 = new Student8(111,"Karan"};
Student8 $2 = new Student8(222," Aryan")
s1.display();
s2.display();
MY
Output:
222 Aryan IT:
Java static method
If you apply static keyword with any method, itis known as static method,
© A static method belongs to the class rather than object of a class.
© Astatie method can be invoked without the need for creating an instance of a class.
© static method can access static data member and can change the value of it.
Example of static method
‘Program of changing the common property of all objects(static field).
class Student9{
int rolino;
String name;
static String college = "ITS";
static void change(){
college = "BBDIT";
t
Student9(int r, String n){
rollno =r;
name =
JAVA PROGRAMMINGsplay (){System.out.printin(rolino+" "+name+" "+college):}
public statie void main(String args[]){
Student9.change();
Student9 s1 = new Student9 (111,"Karan");
Student9 s2 = new Student9 (222,"Aryan");
Student9 s3 = new Student9 (333,"Son00");
sl display);
s2.display();
s3.display();
uy
Output:111 Karan BBDIT
222 Aryan BBDIT
333 Sonoo BBDIT
Java static block
© Isused to initialize the static data member.
© Itis executed before main method at the time of class loading,
Example of static block
class A2{
static {System.out println("static block is invoked");}
public static void main(String args{)){
System.out.printin("Hello main");
3}
Output: static block is invoked
Hello main
Access Control
Access Modifiers in java
There are two types of modifiers in java: aecess modifiers and non-access modifiers.
The access modifiers in java specifies accessibility (scope) of a data member, method, constructor
or class,
There are 4 types of java access modifiers:
JAVA PROGRAMMINGprivate
default
protected
public
private access modifier
‘The private access modifier is accessible only within class.
Simple example of private access m
In this example, we have created two classes A and Simple. A class contains private data
member and private method. We are accessing these private members from outside the class,
so there is compile time error.
class Af
private int data=40;
private void msg0 {System.out printin("Hello java");}
public class Simple
public static void main(String args{]){
A obj=new AQ;
‘System.out printin(obj.data);//Compile Time Error
obj.msg();//Compile Time Error
tt
2) default access modifier
If you don't use any modifier, it is treated as default bydefault. The default modifier is
accessible only within package
Example of default access modifier
In this example, we have er
fed two packages pack and mypack. We are a&
sing the A
class from outside its package, since A class is not public, so it cannot be accessed from outside
the package.
tisave by A java
package pack;
class Af
void msg(){System.out printin("Hello");}
3
HIsave by B,java
package mypack;
import pack.*;
JAVA PROGRAMMING Page 27class BE
public static void main(String args{]){
A obj = new AQy/Compile Time Error
obj.msg();//Compile Time Error} }
In the above example, the scope of class A and its method msg() is default so it cannot be
accessed from outside the package.
3) protected access modifier
The protected access modifier is accessible within package and outside the package but through
inheritance only.
The protected access modifier can be applied on the data member, method and constructor. It can't
be applied on the class.
Example of protected access modifier
In this example, we have created the two packages pack and mypack. The A class of pack
package is public, so can be accessed from outside the package, But msg method of this package
is declared as protected, so it can be accessed from outside the class only through inheritance.
save by A.java
package pack;
public class A{
protected void msg(){System.out.printIn("Hello");) }
save by B java
package mypack;
import pack.*;
class B extends Af
public static void main(String args[]){
B obj = new BO;
obj.msg();
uF
Output:Hello
4) public access modifier
‘The public access modifier is accessible everywhere. It has the widest scope among all other
modifiers.
JAVA PROGRAMMING Page 28Example of public access modifier
save by A java
package pack;
public class A{
public void msg(){System.out.printin("Hello");}}
save by Bjava
package mypack;
import pack.*;
class BY
public statie void main(String args[]) {
A obj = new AQ;
obj.nsg();
My
Output:Hello
Understanding all java access modifiers
Let's understand the access modifiers by a simple table.
Access within within outside package by outside
Modifier class package subclass only package
Private y N N
Default Y N
Protected
Public
Usage of java this keyword
Here is given the 6 usage of java this keyword.
1. this can be used to refer current class instance variable.
2. this can be used to invoke current class method (implicitly)
3. this() can be used to invoke current class constructor.
JAVA PROGRAMMINGthis can be passed as an argument in the method call
this can be passed as argument in the constructor call,
this can be used to return the current class instance from the method.
class Student{
int rollno;
String name;
float fe
Student(int rotlno,String name, float fee){
this.rollno=rollno;
this.name=name;
this.fe
'
void display(){System.out.println(rolIno+" "+name+" "+fee):}
class Test This2{
public static void main(String args{]){
Student s1=new Student(I11,"ankit",5000;
Student s2=new Student(112,"sumit",60000)
sl.displayQ;
s2.display();
a
Output
111 ankit 5000
112 sumit 6000
Difference between constructor and method in java
Jaya Constructor Jaya Method
Constructor is used to initialize the state of an object. Method is used to expose behaviour
of an object.
Constructor must not have return type. Method must have return type.
Constructor is invoked implicitly Method is invoked explicitly.
The java compiler provides a default constructor if you Method is not provided by compiler in
don't have any constructor. any case.
Constructor name must be same as the class name Method name may or may not be
JAVA PROGRAMMING Page 30same as class name.
There are many differences between constructors and methods. They are given belo
Constructor Overloading in Java
Constructor overloading is a technique in Java in which a class can have any number of
constructors that differ in parameter lists.The compiler differentiates these constructors by
taking into account the number of parameters in the list and their type.
Example of Constructor Overloading
class Student5{
int id;
String name
int age;
Students
id=i,
name =n;
}
StudentS(int i,String n,int a){
id= is
age=a;
}
void display(){System.out printhn(id” "+nam
public static void main(String argsf]){
Student5 s1 = new Student5(111,"Karan");
StudentS s2 = new Student5(222,"Aryan",25);
sl display();
s2.display();
Output:
JAVA PROGRAMMING111 Karan 0
222 Aryan 25
Method Overloading in java
Ifaclass has multiple methods having same name but different in parameters, it is known
as Method Overloading.
If we have to perform only one operation, having same name of the methods increases the
readability of the program.
Method Overloading: changing no. of arguments
In this example, we have created two methods, first add() method performs addition of two
numbers and second add method performs addition of three numbers.
In this example, we are creating static methods so that we don't need to create instance for calling
methods,
class Adder{
static int add(int a,int b) {return a+b;}
static int add(int a,int b,int ){return atb+c;}
}
class TestOverloading! {
public static void main(String[] args){
System.out.println(Adder.add(1 1,11));
System.out.printin(Adder.add(11,11,11));
u
Output:
22
33
Method Overloading: changing data type of arguments
In this example, we have created two methods that differs in data type. The first add method
receives two integer arguments and second add method receives two double arguments,
JAVA PROGRAMMING Page 32Recursion in Java
Recursion in java is a process in which a method calls itself continuously. A method in java that
calls itself is called recursive method.
Java Recursion Example 1: Factorial Number
public class RecursionExample3 {
static int factorial(int n){
if(7—=1)
return 1;
else
return(n * factorial(n-1))
By
public static void —main(String[] args) {
System.out.println("Factorial of 5 is: "Hfactorial(5));
Hh
Qutput:
Factorial of 5 is: 120
Java Garbage Collection
In java, garbage means unreferenced objects.
Garbage Collection is process of reclaiming the runtime unused memory automatically. In other
words, it is a way to destroy the unused objects.
To do so, we were using free() function in C language and delete() in C++. But, in java it is
performed automatically. So, java provides better memory management.
Advantage of Garbage Collection
© Itmakes java memory efficient because garbage collector removes the unreferenced
objects from heap memory.
Itis automatically done by the garbage collector(a part of JVM) so we don't need to make
extra efforts
ge() method
JAVA PROGRAMMINGThe ge() method is used to invoke the garbage collector to perform cleanup processing. The
g0() is found in System and Runtime classes.
public static void gc(){}
Simple Example of garbage collection in java
public class TestGarbagel {
public void finalize(){System.out.printin("“object is garbage collected’
public static void main(String args{]){
TestGarbagel sI=new TestGarbagel();
‘TestGarbagel s2-new TestGarbagel();
s1=null;
s2-null;
System.ge();
a
object is garbage collected
object is garbage collected
Java String
siting is basically an object that represents sequence of char values. An array of characters works
same as java string. For example:
1. char{] ch={ia''va'yt' porn }s
2, String s=new String(ch);,
ssame as:
1, String s="javatpoint";
2. Java String class provides a lot of methods to perform operations on string such as
compare(), concat(), equals(), split), lengthQ, replace), compare To(), intern), substring)
ete
3. The java.lang.String class
implements Serializable, Comparable and CharSequence interfaces.
Serializable Comparable
% t
Charsequence
Sequence Interf
JAVA PROGRAMMING Page 34The CharSequence interface is used to represent sequence of characters. It is implemented by
String, StringBuffer and StringBuilder classes. It means, we can create string in java by using
these 3 classes.
Charsequence
wotls$
String StringBuffer StringBullder
The java String is immutable ie. it cannot be changed. Whenever we change any
string, a new instance is created. For mutable string, you can use StringBuffer and StringBuilder
classes.
There are two ways to create String object:
1, By string literal
2. By new keyword
String Literal
Java String literal is created by using double quotes. For Example:
1. String s="weleome";
Each time you create a string literal, the JVM checks the string constant pool first. If the string
already exists in the pool, a reference to the pooled instance is returned. If string doesn't exist in
‘the pool, a new string instance is created and placed in the pool. For example:
Welcome";
"Welcome";//will not create new instance
1, String s1
2. String s2='
By new keyword
1. String s=new String("Welcome");//creates two objects and one reference variable
In such case, JVM will create a new string object in normal (non pool) heap memory and the
literal "Welcome" will be placed in the string constant pool. The variable s will refer to the object
in heap (non pool),
Java String Example
public class StringExample{
public static void main(String args{]){
String s1="java";//ereating string by java string literal
char ch{]={'s)''r,n''g4's9},
String s2=new String(ch);//converting char array to string
String s3-new String("example");//creating java string by new keyword
System.out.printin(s1);
System.out.println(s2);
System.out.printin(s3);
»
java
JAVA PROGRAMMING Page 35strings
example
Immutable String in Java
In java, string objects are immutable. Immutable simply means unmodifiable or unchangeable.
Once string object is created its data or state can't be changed but a new string object is created.
Let's try to understand the immutability concept by the example given below
class Testimmutablestring {
public static void main(String args[]){
String s="Sachin";
s.concat(" Tendulkar");//concat() method appends the string at the end
System.out.println(s);//will print Sachin because strings are immutable objects
vy
Output:Sachin
class Testimmutablestring
public static void main(String args[]}{
tring s="Sachin";
s=s.coneat(" Tendulkar’):
System. out.printin(s),
}}} Output-Sachin Tendulkar
JAVA PROGRAMMING