Java静态多态性和动态多态性有何区别?
1个回答
展开全部
静态多态性指的是程序在编译时,系统就能决定调用哪个函数,如重载。
动态多态性指在运行中才能动态确定操作指针所指的对象,主要通过虚函数和重写来实现。
java 的多态机制遵循一个原则:当父类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法
概念理解起来有点抽象。还是看个例子吧。
静态多态性:
add(int a);
add(int a,int b);
add(double a);
add(double a,double b);
动态多态性
public class A{ }
public class AB extends A{ }
public class AC extends A{ }
public class test{
go(A a);
动态多态性指在运行中才能动态确定操作指针所指的对象,主要通过虚函数和重写来实现。
java 的多态机制遵循一个原则:当父类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法
概念理解起来有点抽象。还是看个例子吧。
静态多态性:
add(int a);
add(int a,int b);
add(double a);
add(double a,double b);
动态多态性
public class A{ }
public class AB extends A{ }
public class AC extends A{ }
public class test{
go(A a);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询