publicclassDynamicBindindMechanism{
publicstaticvoidmain(String[] args){
// Java有动态绑定机制,即:成员方法在执行过程中,JVM会将方法和当前调用对象实际内存绑定//属性没有动态绑定机制,在哪里声明就在哪里使用
AAA aaa =newBBB();
System.out.println(aaa.getResult());//结果是20}}classAAA{
int i =20;publicintgetResult(){
return i;}}classBBBextendsAAA{
int i =10;}
示例二
publicclassDynamicBindindMechanism{
publicstaticvoidmain(String[] args){
// Java有动态绑定机制,即:成员方法在执行过程中,JVM会将方法和当前调用对象实际内存绑定//属性没有动态绑定机制,在哪里声明就在哪里使用
AAA aaa =newBBB();
System.out.println(aaa.getResult());//结果是40}}classAAA{
int i =20;publicintgetResult(){
//属性没动态绑定机制,在这里调用了getResult()方法,所以就直接使用了这里的i=20returngetInt()+ i;//由于实际对象绑定的有getInt()方法,所以使用的是对象自己的getInt()方法 20}publicintgetInt(){
return10;}}classBBBextendsAAA{
int i =10;publicintgetInt(){
return20;}}