Inheritence is the process of creating a new class from
an existing class. The new class may access the all the
data members in the parent class. The new class is called
sub class. The existing class is called super class or base
class..
Acquiring the properties of one class from another class in
inheritance.Here the class which is being acquired is
called as super class and the class which does acquiring is
called as sub class.
inheritance , name only mentions here that inherit.Listen inherit means it can be occupied by another one like father properties go to his sons, observer some automobiles you can get inheritance meaning there only ,like hero honda passion and passion plus , so , there are a lot of instance available which are related to inheritance.
So, inheritance is nothing but ,in programming language, occupying the properties of one class by another class.
for instance
public class Idemo{
public staic void m(){}
public void m1(){}
}
public class Idemo1 extends Idemo
{
public static void main(String args[]){
Idemo1 i=new Idemo1();
i.m();
i.m1();
}
}
but here it can not be called as inheritance
interface I{void fun1()}
interface I1
{void fun();}
interface I2 extends I,I1
{}
Inheritance is a Reusable of the existing code.
There are two types of Inheritance implementation
Inheritance and interface Inheritance.
Implementation inheritance promotes reusability but improper
use of class inheritance can cause programming nightmares by
breaking encapsulation and making future changes a problem.
With implementation inheritance, the subclass becomes
tightly coupled with the superclass. This will make the
design fragile because if you want to change the superclass,
you must know all the details of the subclasses to avoid
breaking them. So when using implementation inheritance,
make sure that the subclasses depend only on the behavior of
the superclass, not on
the actual implementation.
Interface inheritance promotes the design concept of program
to interfaces not to implementations. This also reduces the
coupling or implementation dependencies between systems. In
Java, you can implement any number of interfaces. This is
more flexible than implementation inheritance because it
won’t lock you into
specific implementations which make subclasses difficult to
maintain. So care should be taken not to break the
implementing classes by modifying the interfaces.
public class Garbage
{
int a=0;
public void add()
{
int c=10+20;
System.out.println(c);
System.out.println(a);
}
public static void main(String args[])
{
Garbage obj=new Garbage();
System.gc();
System.out.println("Garbage Collected");
obj.add();
}
}
Above is a code in java used for garbage collection. object
obj has been created for the class Garbage and system.gc
method is called. Then using that object add method is
called.System.gc method if called the obj should be garbage
collected?
10. class Nav{
11. public enum Direction { NORTH, SOUTH, EAST, WEST }
12. }
13. public class Sprite{
14. // insert code here
15. }
Which code, inserted at line 14, allows the Sprite class to
compile?
a)Direction d = NORTH;
b)Nav.Direction d = NORTH;
c)Direction d = Direction.NORTH;
d)Nav.Direction d = Nav.Direction.NORTH;