Skip to main content

Inheritance-2

Limitation of Inheritance:-we know that inheritance is a facility of re-using the previously developed code, but inheritance has some limitation also, that are given below.

1)    Limitation on variables

 private variables are not available to the child class in any ways that means     private variables cannot inherit .

2)    Limitation on functions or methods

Private Fields of super classes are not available to the child class.
3)    Limitation on class

Final classes cannot inherit into child class.

4)    Limitation on Constructor

Inheritance concept is not applicable for constructors, constructors are not inherited.


Example1:-private variables-1


class Account
{
private int balance=100;
 }
class Test extends Account
{
void getBalance()
{
System.out.println("Your balance is"+balance);
}
public static void main(String[]args)
{
Test t=new Test();
t.getBalance();
}
}

Output:-

C:\JAVATECH>javac Test.java

Test.java:13: error: balance has private access in Account
System.out.println("Your balance is"+balance);
                                     ^
1 error


Private variables cannot inherit in child class, but private variables are used by the methods of that class and method can be inherited into child class.


Example2:- private variables-2


class Account
{
private int balance=100;
 void balance()
{
System.out.println("Your balance is"+balance);
}
}
class Test extends Account
{
public static void main(String[]args)
{
Test t=new Test();
t.balance();
}
}

Output:-

C:\JAVATECH>javac Test.java
 C:\JAVATECH>java Test

Your balance is100


Example3:-private function-1


class Account
{
private void balance()
{
System.out.println("Your balance ");
}
}
class Test extends Account
{
public static void main(String[]args)
{
Test t=new Test();
t.balance();
}
}

Output:-

C:\JAVATECH>javac Test.java

Test.java:15: error: cannot find symbol
t.balance();
 ^
  symbol:   method balance()
  location: variable t of type Test
1 error

Example4:-private function-2


class Account
{
private void balance()
{
System.out.println("Your balance ");
}
void disp()
{
System.out.println("Through disp method");
balance();
}
}
class Test extends Account
{
public static void main(String[]args)
{
Test t=new Test();
t.disp();
}
}

Output:-

C:\JAVATECH>javac Test.java
C:\JAVATECH>java Test

Through disp method
Your balance

Example5:-final class Test.java


final class Account
{
}
class Test extends Account
{
}

Output:-

C:\JAVATECH>javac Test.java

Test.java:5: error: cannot inherit from final Account
class Test extends Account
                   ^

1 error

Comments

Popular posts from this blog

Inheritance-4

Example10:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(null); System.out.println("This is sub class Zero argument constructor"); } public static void main(String[]args) { Test t=new Test(); } } Output:- C:\JAVATECH>javac Test.java C:\JAVATECH>java Test This is super class One argument constructor This is sub class Zero argument constructor Example11:- class Student { Student() { System.out.println("This is super class Zero argument constructor"); } Student(String s) { System.out.println("This is super class One argument constructor"); } } class Test extends Student { Test() { super(); super(null); System.out.println("This is su...

Regarding class files

Class files:- Regarding class file or dot class file also known as byte code of class, in a java programming language we can use any number of classes in our program. After compilation all classes convert into individual   .class   file. Example:- class A { } class B { } class C { } class Student { public static void main(String[]args) { System.out.println("Well-come to my java blog"); } } We can save above program to any   classname.java   or we can use any other   name.java,   there is no compulsion for java file name. But recommended to save by that class name which having main method. I saved the above file to   Student.java   name .   Before compilation my   C:\JAVATECH   folder contain only one java file. Student.java For  compilation. C:\JAVATECH>javac  Student.java After compilation   my   C:\JAVATECH   folder contains five files, on...

inheritance

INHERITANCE:- Inheritance is the process of code re-usability, using this property software or applications can develop in less time or can develop rapidly. Inheritance increases the readability of code and decrease redundancy or repetition of code or reduces size of code. Use of previously developed code in future any number of times is called inheritance. Through inheritance variables and methods of class can inherited. Types of Inheritance:- 1)         Single or Single level inheritance 2)         Multilevel inheritance 3)         Hierarchical inheritance Java does not support to multiple inheritance. Single or single level inheritance:- In a single inheritance a class is inherited by a single class. In a single or single level inheritance a sub class having only one super class directly or indirectly. Syntax: -        class Subclass ex...