没有合适的资源?快使用搜索试试~ 我知道了~
java的编译时多态和运行时多态
需积分: 26 17 下载量 124 浏览量
2015-04-14
10:23:19
上传
评论 1
收藏 103KB DOCX 举报
温馨提示
试读
3页
java的编译时多态和运行时多态,保证一看就会
资源推荐
资源详情
资源评论
java 的编译时多态和运行时多态
1、运行时多态和编译时多态的区别?
编译时的多态,是指参数列表的不同, 来区分不同的函数, 在编译后, 就
自动变成两个不同的函数名. 在运行时谈不上多态
运行时多态:用到的是后期绑定的技术, 在程序运行前不知道,会调用那
个方法, 而到运行时, 通过运算程序,动态的算出被调用的地址. 动态调
用在继承的时候,方法名 参数列表完全相同时才出现运行时多态!
运行时多态,也就是动态绑定,是指在执行期间(而非编译期间)判断所引
用对象的实际类型,根据实际类型判断并调用相应的属性和方法.看看下
面这个例子:
abstract class Animal {
private String name;
Animal(String name) {this.name = name;}
/*
public void enjoy(){
System.out.println("叫声......");//父类方法,下面的子类对该方法不满
意,重写.
}
*/
public abstract void enjoy();//该方法没有实现的必要(所以我们一般声
明为静态方法),但有定义的必要.
}
class Cat extends Animal {
private String eyesColor;
Cat(String n,String c) {super(n); eyesColor = c;}
public void enjoy() {
System.out.println("猫叫声......");
}
//public abstract void enjoy();//如果不想实现父类静态方法,可将此方
法声明为静态的,该类也同时为 abstract
}
class Dog extends Animal {
private String furColor;
Dog(String n,String c) {super(n); furColor = c;}
资源评论
Yugi_oh
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功