0% found this document useful (0 votes)
35 views

Core Java: Presented by S.Anitha Ap/Mca Viims

Java is an object-oriented programming language developed by James Gosling at Sun Microsystems. It is a platform independent language that is compiled to bytecode that runs on Java Virtual Machine (JVM). Core Java concepts include classes, objects, inheritance, interfaces, packages and exceptions. Constructors initialize objects and can be overloaded. Methods can be overloaded based on parameters but not return type. Inheritance allows classes to extend functionality of other classes.

Uploaded by

bhanu sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views

Core Java: Presented by S.Anitha Ap/Mca Viims

Java is an object-oriented programming language developed by James Gosling at Sun Microsystems. It is a platform independent language that is compiled to bytecode that runs on Java Virtual Machine (JVM). Core Java concepts include classes, objects, inheritance, interfaces, packages and exceptions. Constructors initialize objects and can be overloaded. Methods can be overloaded based on parameters but not return type. Inheritance allows classes to extend functionality of other classes.

Uploaded by

bhanu sharma
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 78

CORE JAVA

Presented By
S.Anitha
AP/MCA
VIIMS
What is JAVA?
 Java is an object-oriented programming
language developed by James Gosling at Sun
Microsystems and released in 1995.

Old Name : Oak

Green Project (7 members team)

Write Once Run Anywhere (WORA)


JAVA Editions
1.J2SE
2.J2EE
3.J2ME
JAVA Technologies
1. Applets
2. Servlets
3. JSP
4. Swing
5. EJB
6. JDBC
7. Struts
8. Hibernate
JAVA Features
• Pure Object Oriented language.

• Platform independent (JVM)

• Portable – Processor independent

• Multi-threaded – Handling Multiple tas


• JNI
JVM (Java Virtual Machine)
Test.java
class Test
{
public static void main(String b[])
{

System.out.println(“Welcome”);

}
}
How to run a JAVA pgm?
>javac Test.java
o/p: Test.class

>java Test
o/p: Welcome
JDK, BDK, JSDK, JRE, JIT, Hot Java
Different name for java file and class
Sample.java
class Test
{
public static void main(String []a)
{
System.out.println(“Welcome”);
}
}
How to run a JAVA pgm?
>javac Sample.java
o/p: Test.class

>java Test
Welcome
Comment Line
1. Single Line Comment //

2. Multi Line Comment /* */

3.Documentation Comment
/** */
Getting Input

1. DataInputStream
2. BufferedReader
3. Scanner
import java.io.*;
class Test
{
public static void main(String []ar) throws Exception
{

int age;

DataInputStream d = new DataInputStream(System.in);

System.out.println("Enter your Age");


age = Integer.parseInt(d.readLine());

System.out.println("Age:"+ age);

}
}
DataInputStram
Output
D:\jpgms>javac sample.java
Note: sample.java uses or overrides a deprecated
API.
Note: Recompile with -Xlint:deprecation for details.

D:\jpgms>java Test
Enter your Age
20
Age:20
import java.io.*;
class Test
{
public static void main(String []ar) throws Exception
{

int age;

BufferedReader d = new BufferedReader(new


InputStreamReader(System.in));

System.out.println("Enter your Age");


age = Integer.parseInt(d.readLine());

System.out.println("Age:"+ age);

}
}
import java.util.Scanner;
class Test
{
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);

System.out.println("Enter your rollno");


int rno=sc.nextInt();
System.out.println("Enter your name");
String name=sc.next();

System.out.println("Rollno:"+rno);
System.out.println(" name:"+name);
sc.close();
}
Final, finally, finalizer
• Final

1. Variable (CONSTANT)
final int TOTAL=100;
2. Method (can’t be override)
final int add(){}
3. Class (can’t inherited)
final class Test{ .. }
Finally
Exception Handling

What is Exception? Runtime error


Eg:-
ArrayIndexoutofBounds Exception
int a = new int[10];
a[11]=123;

ClassNotFoundException
Throws  informing the compiler about the
occurrence of an exception (eg:- Questions
without answer)

Try block & Catch block  (eg:- Q & A)


Try block (Q: intimation about the occurrence of
an error to java compiler)
Catch block (A: Solution ie remedy for that
exception)
import java.io.*; //for DataInputStream class
class Test
{
public static void main(String []ar) throws Exception
{
int age;

DataInputStream d = new DataInputStream(System.in);

System.out.println("Enter your Age");


age = Integer.parseInt(d.readLine()); //IOException

System.out.println("Age:"+ age);

}
}
class Test
{
public static void main(String []ar)
{
try
{
int a=100,b=0,c;
c=a/b;
}
catch (Exception e) //ArithmeticException division by zero
{
System.out.println(e);
}
}
}
• try block must be followed by a single or
multiple catch block.

• finally block
Is executed once whether the exception is
raised or not.

 House keeping operations like file closing &


freeing resources
class Test
{
public static void main(String []ar)
{
try
{
int a=100,b=0,c;
c=a/b;
}
catch (Exception e) //ArithmeticException division by zero
{
System.out.println(e);
}
finally
{
System.out.println(“finally block”);
}
}
}
•Finalizer  destructor

Java  Automatic garbage


collected language,
System.gc();
Inheritance
• Deriving a new class from existing class.

• Old class or existing class (Super Class)


• New class or derived class (Sub Class)

Reusability
Types of Inheritance

1. Single Inheritance
2. Multiple Inheritance
3. Hierarchical inheritance
4.MultiLevel Inheritance
5.Hybrid inheritance
1.Single Inheritance

Fruit 1.Super class

Apple 2.Sub Class


2.Multiple Inheritance
(More than one Super class)

Father Mother

Son
Java doesn’t support Multiple
Inheritance.
?
But we can do Multiple
Inheritance by using interfaces.
3. Hierarchical Inheritance
(More than one Sub class)

Mobile OS

Android iOS Blackberry


4. MultiLevel Inheritance
(Deriving a Sub cls from existing sub cls)
Grand Parent

Parent

Child
5. Hybrid Inheritance
(combination of all types of inheritance)
Single Inheritance
class A
{
static int x=10;
static int y=20;
}
class B extends A
{
public static void main(String[] args)
{
int z=30;
int res=x+y+z;
System.out.println("Result:"+res);
}
}
class Shape
{ int l,b;
}

class Rectangle extends Shape


{
int a;
public int findArea()
{
a = l*b;
return (a);
}
public static void main(String args[])
{
Rectangle r = new Rectangle();
r.l = 10;
r.b = 20;
System.out.println("Area of rectangle is:" + r.findArea());
}
}
Interface
Similar to class but contains only declarations of
variables and methods.

• Methods declared in a interface should


be public and abstract
(final Vs abstract)
• variables declared should be public, static &
final
Interface
Tagging or Markable interface?

An interface with no variables & methods

eg:-
Serializable, Clonnable and Remote interface
Interface pgm
interface P
{
void print();
}
class A implements P
{
public void print()
{ System.out.println("Hello"); }

public static void main(String args[])


{
A obj = new A();
obj.print();
}
}
Multiple Inheritance
class A
{
static int x=10;
}
interface B
{
static int y=20;
}
class C extends A implements B
{
public static void main(String[] args)
{
System.out.println("Multiplication:"+ x*y);
}
Multiple Inheritance
class A
{}
class B ________________ A
{}

interface I1
{}

class C ________________ B _________________ I


{}
Interface I2 _____________ I1
{}
x extends y
x implements y
Constructor & Destructor
Constructor  A method which is invoked
automatically while creating objects.

Constraints:
• Constructor name should be same as class
name.
• No return value for constructor. (even void)
Types of Constructor:
1. Default Constructor
2. Parameterized Constructor
3. Copy Constructor
4. Dynamic Constructor
class Student
Default constructor
{
int rno;
String name;
void display()
{
System.out.println("Name:"+name);
System.out.println("RollNO:"+rno);
}
public static void main(String args[])
{
Student s1=new Student();//default constructor
s1.display();
}
}
2. Parameterized Constructor
class Student
{
int rno;
String name;
Student(int r,String s)
{
rno=r;
name=s;
}
void display()
{
System.out.println("Name:"+name);
System.out.println("RollNO:"+rno);
}
public static void main(String args[])
{
Student s1=new Student(101,"Sudha");//parameterized constructor
s1.display();
}
Copy Constructor
class Student
{
int rno;
String name;

Student(int r,String s)
{
rno=r;
name=s;
}

Student(Student s) // copy constructor


{
rno=s.rno;
name=s.name;
}
void display()
{
System.out.println("Name:"+name);
System.out.println("RollNO:"+rno);
}

public static void main(String args[])


{
Student s1=new Student(101,"Sudha”);
Student s2 = new Student(s1); //Copy Constructor
s1.display();
s2.display();
}
}
Super keyword
• super can be used to refer immediate parent
class instance variable.
• super can be used to invoke immediate parent
class method.
• super() can be used to invoke immediate
parent class constructor.
class Fruit
{
Fruit()
{
System.out.println("Fruit Class");
}
}
class Apple extends Fruit
{
Apple()
{
super();
System.out.println("Apple class");
}
}
class Test
{
public static void main(String args[])
{ Apple a=new Apple();
}
}
class A
this keyword
{
int a,b;

int add(int x, int y)


{
a=x;
b=y;
return(a+b);
}
}
class B extends A
{
public static void main(String args[])
{
A a=new A();
System.out.println("Added Value:" + a.add(10,20));
}
}
class A
{
int x,y;

int add(int x, int y)


{
this.x=x;
this.y=y;
return(x+y);
}
}

class B extends A
{
public static void main(String args[])
{
A a=new A();
System.out.println("Added Value:" + a.add(10,20));
}
}
Method Overloading
• Same method name with different signatures.

Signature?
• Number and type of arguments.

int add(int a, int b);

int add(int a, int b, int c);

double add(int a, double b);


//Method Overloading
class A
{
int add(int x, int y)
{
return(x+y);
}

int add(int x, int y, int z)


{
return(x+y+z);
}
double add(double x, int y)
{
return(x+y);
}
}
class B extends A
{
public static void main(String args[])
{
A a=new A();
System.out.println("Added Value:" + a.add(10,20));
System.out.println("Added Value:" + a.add(10,20,30));
System.out.println("Added Value:" + a.add(1.2,20));

}
}
Constructor Overloading
• More than one types of constructor used in a
single class.

• Method Overriding

• Same method name with same signature but in


2 different classes namely super class & sub
class.

Overloading Vs Overriding?
// method overriding
class A
{
void show()
{
System.out.println("I am inside super class");
}
}
class B extends A
{
void show()
{
System.out.println("I am inside sub class");
}
}
class Test
{
public static void main(String a[])
{
B b = new B();
b.show();
}
}
Abstract class
• A class which can’t be instantiated.
Ie we can’t create objects for abstract class.

How to create abstract class in Java?


1. Using abstract class.
2. Using at least one abstract method inside a
class.
3. An abstract class contains both abstract & non
abstract methods.
abstract class Bank
{
abstract int getInterest();
}

class SBI extends Bank


{
int getInterest()
{
return 7;
}
}
class TestBank
{
public static void main(String args[])
{
Bank b;
b=new SBI();
System.out.println("Rate of Interest is: "+b.getInterest());

}
}
Package
• grouping of related classes, Interfaces,
methods.

• Default Package ? Language


import java.lang.*; // no need
• Largest Package? awt
Java vs javax
import java.io.*; vs import javax.rmi.*;
• Some Built-in Packages

1) java.lang: defines primitive data types, math


operations

2) java.io: supporting input / output operations.

3) java.util: data structures like Linked List, Date / Time


operations.

4) java.applet: Contains classes for creating Applets.

5) java.awt: graphical user interfaces

6) java.net: networking operations.


Advantages of using packages:
• Preventing naming conflicts

• Easier maintenance

• Controlled access
User defined package
//create a folder mypack and save Mycls.java in mypack
package mypack;

public class Mycls


{
public void getName(String s)
{
System.out.println(s);
}
}
//compile Mycls.java
import mypack.Mycls;

public class Test


{
public static void main(String args[])
{

Mycls m = new Mycls();

m.getName("VIIMS");
}
}
//cd..
//compile Test.java & run
// Output:- VIIMS
//static keyword
import static java.lang.System.*;
class Test
{
public static void main(String b[])
{

out.println("Welcome");

}
}
// Naming conflicts
• import java.util.*;
• import java.sql.*;

Date today ;
//ERROR– java.util.Date or java.sql.Date?

Solution:
java.sql.Date today = new java.sql.Date();
APPLETS
• Small java programs developed for web
applications.

console applications Vs Applets


1. main() 1. No main()
2. No browser 2. needs browser or
appletviewer
Lifecycle of Java Applet
java.applet.Applet class

• public void init(): is used to initialized the Applet.


It is invoked only once.
• public void start(): is invoked after the init()
method or browser is maximized. It is used to
start the Applet.
• public void stop(): is used to stop the Applet. It is
invoked when Applet is stop or browser is
minimized.
• public void destroy(): is used to destroy the
Applet. It is invoked only once.
First.java
import java.applet.Applet;
import java.awt.Graphics;
public class First extends Applet
{
public void paint(Graphics g)
{
g.drawString("welcome",150,150);
}

}
>javac First.java
Include <applet> tag in 2 ways

1. In java program itself as comment line and


run using appletviewer
>appletviewer First.java

2. As a separate .html file and run using any


browser.
First.java
/*
<applet code="First.class" width="300" height="300">
</applet>
*/

import java.applet.Applet;
import java.awt.Graphics;
public class First extends Applet
{
public void paint(Graphics g)
{
g.drawString("welcome",150,150);
g.drawLine(20,30,20,300);
}

}
test.html (use any browser)
<html>
<body>
<applet code="First.class" width="300"
height="300">
</applet>
</body>
</html>
JDBC (Java Database Connectivity)
• Front End

• Backend
DBMS Vs RDBMS
• ODBC vs JDBC
SQL
1. DDL
i. Create
ii. Alter
iii. Drop
2. DML
i. Select
ii. Insert
iii. Update
iv. Delete
3. DCL
i. grant
ii. Revoke
4. TCL
i. Commit
ii. Rollback
iii. Save Point
import java.sql.*;
Creating a Table
class Test
{
public static void main(String a[]) throws Exception
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con =
DriverManager.getConnection("Jdbc:Odbc:stucon");
String qs = "create table student(sname text,rno number)";
PreparedStatement ps = con.prepareStatement(qs);
ps.executeUpdate();
ps.close();
con.close();
}
}
import java.sql.*;
Select Query
class Test
{
public static void main(String a[]) throws Exception
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con = DriverManager.getConnection("Jdbc:Odbc:empcon");


String qs = "select * from EMPLOYEE";

PreparedStatement ps = con.prepareStatement(qs);

ResultSet rs = ps.executeQuery();

while(rs.next())
{
System.out.println("Employee No :" + rs.getString(1));
System.out.println("Employee Name:" + rs.getString(2));
System.out.println("Salary Rs :" + rs.getString(3));
}
ps.close();
con.close();
}
}
Thank You

You might also like