Tuesday, May 22, 2012

Create Abstract Class Java

1/. Create A.java

abstract public class A {
    abstract void callme();
   
    // concrete methods are still allowed in abstract classes
    void callmetoo() {
        System.out.println("This is a concrete method.");
    }
}
2/.Create B.java

public class B extends A{
    void callme() {
        System.out.println("B's implementation of callme.");
    }
}
3/.Create Abstract.java

public class AbstractDemo {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        B b = new B();
        b.callme();
        b.callmetoo();
    }




Dynamic method dispatch is the mechanism by which a call to an overridden method  is resolved at run time, rather than compile time. Dynamic method dispatch is important because this is how Java implements run-time polymorphism.

1/. Create A.java

public class A {
    void callme(){
        System.out.println("Inside's A call me");
    }
}

2/.Create B.java

public class B extends A{
    void callme(){
        System.out.println("Inside's B call me");
    }
}

3/. Create C.java
public class C extends B{
    void callme(){
        System.out.println("Inside's C call me");
    }
}

4/. Create Override.java

public class Override {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        A a=new A();
        B b=new B();
        C c=new C();
        A r; //otain a referent of type A
        
        r=a;//r refer object a
        r.callme();//call in class A
        
        r=b;//r refer object b
        r.callme();// call in class B
        
        r=c;//r refer object C
        r.callme();//call in class C
    }
}


How to create Override Method in Java

Override Method is  the name of a method in subclass the same name in superclass.
1/.Create A_Override.java:

public class A_Override {
    int i,j;

  A_Override(int a,int b) {
      i=a;
      j=b;
    }
  //Display i and j
  void Display(){
      System.out.println("Value i="+i+" and "+j);
  }
 
}

2/.Create B_Override_A.java:


public class B_Override_A  extends A_Override{
    int k;
    B_Override_A(int a,int b,int c){
        super(a,b);
        k=c;
    }
    //Display K override on show method in superclass
    void Display(){
        System.out.println("value K="+k);
    }
}

3/. Create Main Class:OverrideMethod.java


public class OverridedMethod {
    public static void main(String[]args){
        B_Override_A obj=new B_Override_A(10, 20, 30);
        obj.Display();//This method call show in B_Override_A
    }
}