You are on page 1of 5

// Demonstrate an inner class inside method.

class MethodClass
{
public static void main(String args[])
{
class MyClass //A class inside main() method
{
int x;
MyClass(int x) //Constructor
{
this.x = x;
}
void display() //Method
{
System.out.print("Your value : ");
System.out.println(x);
}
}

MyClass m = new MyClass(63); //Object


m.display(); //Method call
}
}
Program 2.16 Defining a class inside a method

// A simple example of inheritance.

class Super
{
int i, j;
void show()
{
System.out.print("i and j: ");
System.out.println( + i + " " + j);
}
}

class Sub extends Super


{
int k;

void display()
{
System.out.println("k: " + k);
}
void sum()
{
System.out.println("i+j+k: " + (i+j+k));
}
}

class SimpleInheritance
{
public static void main(String args[])
{
Super a = new Super();
Sub b = new Sub();
a.i = 5;
a.j = 12;
System.out.println("Contents of super: ");
a.show();
System.out.println();

b.i = 11;
b.j = 13;
b.k = 17;
System.out.println("Contents of sub: ");
b.show();
b.display();
System.out.println();

System.out.println("Sum of i, j and k in sub:");


b.sum();
}
}
Program 2.17 Example of simple inheritance

// An example of Single inheritance


import java.util.Scanner;
class First
{
int val;
void init()
{
System.out.print("Enter a number: ");
Scanner in = new Scanner(System.in);
val = in.nextInt();
}
int square()
{
return(val*val);
}
}
class Second extends First
{
int mem;
int cube()
{
mem = square() * val;
return mem;
}
}
class SingleInheritance
{
public static void main(String args[])
{
Second s = new Second();
s.init();
System.out.println("Cube : "+s.cube());
}
}
Program 2.18 Example of single inheritance

// Super class variable to subclass object

class Super
{
int i, j;
void show()
{
System.out.print("i and j: ");
System.out.println( + i + " " + j);
}
}

class Sub extends Super


{
int k;

void display()
{
System.out.println("k: " + k);
}
void sum()
{
System.out.println("i+j+k: " + (i+j+k));
}
}

class Reference
{
public static void main(String args[])
{
Super a; //Statement1
Sub b = new Sub();

b.i = 11;
b.j = 13;
b.k = 17;
System.out.println("Contents of sub: ");
b.show();
b.display();
System.out.println();

a = b; //Statement2

System.out.println("Contents of super: ");


a.show();
System.out.println();

System.out.println("Sum of i, j and k in sub:");


b.sum();
}
}
Program 2.19 Super class variable can refer to the subclass object

The ‘super’ keyword


//Use of super to access super class members

class Primary
{
int cal; //declaration1
void show()
{
System.out.println("Super class cal : "+cal);
}
}
class Secondary extends Primary
{
int cal; //declaration2
Secondary(int x,int y) //statement1
{
cal = x; //statement2
super.cal = y; //statement3
}
void display()
{
System.out.println("Sub class cal : "+cal);
}
}
class SuperUse1
{
public static void main(String args[])
{
Secondary s = new Secondary(15,22);
s.show();
s.display();
}
}
Program 2.20 First use of the ‘super’ keyword

//Use of super to access super class constructor


class Primary
{
int cal; //declaration1
Primary(int a)
{
cal = a;
}
void show()
{
System.out.println("Super class cal : "+cal);
}
}
class Secondary extends Primary
{
int cal; //declaration2
Secondary(int x,int y) //statement1
{
super(y); //statement2
cal = x; //statement3
}
void display()
{
System.out.println("Sub class cal : "+cal);
}
}
class SuperUse2
{
public static void main(String args[])
{
Secondary s = new Secondary(15,22);
s.show();
s.display();
}
}
Program 2.21 Use of ‘super’ to access the super class constructor

You might also like