编译时多态性和运行时多态性之间的区别

javaserver side programmingprogramming

多态性是最重要的 OOPs 概念 之一。这是一个我们可以用多种方式执行单个任务的概念。多态性有两种类型,一种是编译时多态性,另一种是运行时多态性。

方法重载是编译时多态性的例子,而方法覆盖是运行时多态性的例子。

Sr.不。关键编译时多态性运行时多态性
1基本编译时多态性意味着绑定发生在编译时运行时多态性,在运行时我们才知道要调用哪个方法
2静态/动态绑定它可以可以通过静态绑定实现可以通过动态绑定实现
4.继承不涉及继承涉及继承
5示例方法重载是编译时多态性的一个例子方法覆盖是运行时多态性的一个例子

编译时多态性的示例

public class Main {
   public static void main(String args[]) {
      CompileTimePloymorphismExample obj = new CompileTimePloymorphismExample();
      obj.display();
      obj.display("Polymorphism");
   }
}
class CompileTimePloymorphismExample {
   void display() {
      System.out.println("In Display without parameter");
   }
   void display(String value) {
      System.out.println("In Display with parameter" + value);
   }
}

运行时多态性的示例

public class Main {
   public static void main(String args[]) {
      RunTimePolymorphismParentClassExample obj = new RunTimePolymorphismSubClassExample();
      obj.display();
   }
}
class RunTimePolymorphismParentClassExample {
   public void display() {
      System.out.println("Overridden Method");
   }
}
public class RunTimePolymorphismSubClassExample extends RunTimePolymorphismParentExample {

   public void display() {
      System.out.println("Overriding Method");
   }
}


相关文章