小标
2018-08-30
来源 :
阅读 1120
评论 0
摘要:本文主要向大家介绍了Thinking in Java语言多态问题解析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
本文主要向大家介绍了Thinking in Java语言多态问题解析,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
1. 动态绑定实现多态。Java中static方法和final方法(private方法属于final方法)不能使用动态绑定,不具有多态性!
2. 向上转型: 例如: Father father = new Son();?
3.重要:向上转型后的实例变量与方法的访问
package cn.hdu.li;
//import sun.tools.jconsole.Tab;
class Useful{
int k = 3;
public void test() {
System.out.println("a");
}
public static void staticGet(){
System.out.println("Base staticGet()");
}
public void dynamicGet(){
System.out.println("Base dynamicGet()");
}
}
class MoreUseful extends Useful {
int k = 90;
public void test() {
System.out.println("b");
}
public static void staticGet(){
System.out.println("Derived staticGet()");
}
public void dynamicGet(){
System.out.println("Derived dynamicGet()");
}
}
public class Welcome {
public static void main(String[] args) {
Useful a = new MoreUseful();
System.out.println(a.k);
a.test();
a.staticGet();
a.dynamicGet();
}
}
输出:
3
b
Base staticGet()
Derived dynamicGet()
由以上代码总结如下:
1.??当子类向上转型之后调用成员变量即实例变量是父类的,调用成员方法是子类的!
2.静态方法不具有多态性。静态方法是与类,而并非与单个的对象相关联的。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号