java中实现多态的机制
java中实现多态的机制靠的是父类或者接口定义的引用变量可以指向子类或者具体的实现类的实例对象,而程序调的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,...
java中实现多态的机制靠的是父类或者接口定义的引用变量可以指向子类或者具体的实现类的实例对象,而程序调的方法在运行期才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类型中定义的方法。
用通俗易懂的语句解释上面的话,跪谢。。。。。 展开
用通俗易懂的语句解释上面的话,跪谢。。。。。 展开
3个回答
展开全部
父类A有一个方法function(),子类B,C分别继承A并且重写function(),当创建一个对象A b = new B(); b.function()就调用B的funciotn,假如你new C(),那调用的就是C重写的function。怎么判断使用那个类的function就是动态绑定,这个现象就是多态...
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Collection<Integer> list = new ArrayList<Integer>();
Collection<Integer> set = new HashSet<Integer>();
for(int i=0;i<5;i++){
list.add(i);
list.add(i);
set.add(i);
set.add(i);
}
System.out.println("list的大小为:"+list.size());
for(Integer i: list){
System.out.println(i);
}
System.out.println("set的大小为:"+set.size());
for(Integer i: set){
System.out.println(i);
}
同样是Collection的实现类,同样调用add(Object o)方法,但是最终的表现却不同
list中被添加了10个元素,而set中只有5个元素
以上的表现就是多态,原因:
二者虽然都属于java.util.Collection接口的实现类
但是list所对应的是一个ArrayList,它可以添加重复元素
而set所对应的是一个HashSet,它无法添加重复元素
最终导致了二者所表现出的结果截然不同~~~
Collection<Integer> set = new HashSet<Integer>();
for(int i=0;i<5;i++){
list.add(i);
list.add(i);
set.add(i);
set.add(i);
}
System.out.println("list的大小为:"+list.size());
for(Integer i: list){
System.out.println(i);
}
System.out.println("set的大小为:"+set.size());
for(Integer i: set){
System.out.println(i);
}
同样是Collection的实现类,同样调用add(Object o)方法,但是最终的表现却不同
list中被添加了10个元素,而set中只有5个元素
以上的表现就是多态,原因:
二者虽然都属于java.util.Collection接口的实现类
但是list所对应的是一个ArrayList,它可以添加重复元素
而set所对应的是一个HashSet,它无法添加重复元素
最终导致了二者所表现出的结果截然不同~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询