java 编译时间_编译时间与运行时间

经过2-3个小时才知道, compile-time and run-time 有什么区别 . 最后,我想出了这个 .

在运行时分配的内存称为运行时/动态绑定,并在编译时分配,称为编译时/静态绑定 .

然后我尝试了这个例子

class myclass {

void here() {

System.out.println("Here from myclass !!");

}

void here(int i) {

System.out.println("Here !!" + i);

}

}

class thisclass extends myclass {

void here() {

System.out.println("Here from thisclass !!");

}

}

public class poly {

public static void main(String s[]) {

myclass m= new myclass();

myclass a= new thisclass();

m.here();

m.here(12);

a.here();

a.here(13);

}

}

所以,我还发现 myclass a= new thisclass(); 被认为是运行时绑定 . 既然, a 是 myclass 的对象,但突然编译器发现,类错误匹配 . 因此,它将动态绑定 thisclass 对象的空间 .

所以,直到这里,我得到了东西 . 但是,我发现,另一个常见的答案是 overloading refer to compile time and overriding refer to run-time . 我没有明白这一点 .

thisclass a= new thisclass();

a.here();

这也称为运行时绑定 . ??如果在这里写错了,请纠正我 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值