2 Inheritance, Interfaces & Packages

  • Uploaded by: satyanarayana
  • 0
  • 0
  • December 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 2 Inheritance, Interfaces & Packages as PDF for free.

More details

  • Words: 597
  • Pages: 21
Presentation by:

Joshi

INHERITANCE

INHERITANCE • Acquiring the properties of an existing Object into newly creating Object to overcome the redeclaration of properties in deferent classes. • These are 3 types: 1.Simple Inheritance SUPER extends SUB

SUPER extends SUB 1

SUB 2

INHERITANCE 2. Multi Level Inheritance

3. Multiple Inheritance

SUPER extends SUB

SUPER 1

SUPER 2

implements

extends SUB SUB

SUB

extends • Is a keyword used to inherit a class from another class • Allows to extend from only one class class One

class Two extends One

{

{ int a=5;

}

int b=10; }

super • ‘super’ is a keyword used to refer to hidden variables of super class from sub class. • super.a=a; • It is used to call a constructor of super class from constructor of sub class which should be first statement. • super(a,b); • It is used to call a super class method from sub class method to avoid redundancy of code • this.addNumbers(a, b);

ABSTRACT METHOD • A method with only declaration and without any definition. • It should be declared with a keyword abstract. • syntax: abstract returntype methodName(arguments);

ABSTACT CLASS • A class with at least one abstract method. • Explicitly creating an instance on abstract class is not possible as it is an incomplete class, but implicitly it creates an instance when we try to create an instance of its sub class. • Abstract methods has to be overridden by extending the abstract class.

ABSTRACT CLASS abstract class Calculator { int sum(int a, int b) { return a+b; } abstract double squareRoot(double d); }

INTERFACE

INTERFACE • A class with all abstract methods. • Instance will not be created for interface either explicitly or implicitly. • All the properties of interface are static and final. • We can implement any number of interfaces into single class. • Used in Dynamic Polymorphism

syntax of Interface interface { static final variables; abstract methods declaration(); }

implements • Is a keyword used to implement one or more interfaces into a class. interface A

interface B

{

{

}

}

class NewClass implements A, B {} class NewClass extends One implements A, B {}

Polymorphism • Many ways of outputs for single type of request. There are 2 types – Static Polymorphism • Over Loading of Methods (Early Binding)

– Dynamic Polymorphism • Dynamic Method Dispatch (Late Binding)

Polymorphism Example class PolyDemo { public static void main(String args[]) { Fig f; f=new Circle(); f.area(); f=new Rectangle(); f.area(); } }

Access Modifiers

static • Static Variables are class variable but not instance variable which are declared and initialised once in its life and shared by any no. of instances. • Static Method or Variables can be used with class name without creating an instance or with reference variables of instances. Ex:

Math.sqrt(5);

final • final keyword is used declare constants which can not change its value of definition.

• final Variables can not change its value.

• final Methods can not be Overridden or Over Loaded

• final Classes can not be extended or inherited

Access Specifiers

Access Specifiers Same Pack Same Pack Diff Pack In Sub Diff Sub Class Class Class Class

Diff Pack Diff Class

Private

OK

NO

NO

NO

NO

Default

OK

OK

Instance

NO

NO

Protect OK

OK

Instance

OK

NO

Public

OK

Instance

OK

Instance

OK

Packages • It is group of classes and interfaces • classes or interfaces can be imported into another programme with the help of packages only. • It is used for better organisation of classes. Syntax:

package <package_name>; import package.classes;

Related Documents


More Documents from ""

Cascading Style Sheets (css)
December 2019 56
Javascript.st1
December 2019 76
Jsp
December 2019 66
Jf4_60
December 2019 53