永发信息网

关于Java的编译时多态和运行时多态

答案:2  悬赏:0  手机版
解决时间 2021-02-28 22:33
class P
{
public static void m1()
{
System.out.println("1111");
}
public void m2(int a)
{
System.out.println(a);
}
public void m3()
{
m1();
m2(10);
System.out.println("333");
}
}

class Ch extends P
{
public static void m1()
{
System.out.println("444");
}
public static void m2()
{
System.out.println("555");
}
}

class NoneSense
{
public static void main(String args[])
{
new Ch().m2();
new Ch().m3();
}
}
如上代码,为什么输出是
555
1111
10
333
而不是
555
444
10
333
我觉得既然运行时类型是Ch,那么不应该运行Ch的m1()方法吗?
最佳答案
您想的有点复杂化了,简单的说吧,您说的运行时的多态是分为可执行文件和非可执行文件,也就是说您的程序打没打包,而您说的编译时的多态也分为两种;1、重载。2、继承。前者是静态的多态形式也就是说不可以用于多个类;针对方法,后者是可以在多个类之间使用,要记得只可以子类继承父类,不可‘以下犯上’。就像是java中的类型,一个是private,另一个是public。
全部回答
个人看法 多态的概念 父类引用指向子类对象 而实际调用的方法为子类的方法。 编译时多态 java里叫重载 严格来说不叫多态 运行时多态 有继承 有重写 父类引用指向子类对象 例子我看就算了 书上多 的是
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
感觉身上有时候一下很冷是怎么回事
ollydbg破解软件注册码问题
长春到四平 2076车次 上车在南站还是在北站?
表白说话大喘气的段子
ASP中怎么设置不登录不能访问主页
2o17年家里地下水管漏水,适合修吗
淘宝天猫异地客服是不是真的?
函数F(x)=x/1+x2在定义域内为()
我在网上预订丁一张安康至西安的火车票,手机
红色怎么说?
英雄杀李煜商鞅后主判定顺序问题
清炖鲢鱼怎么炖汤是奶白色好吃
仿写一个排比句
帮我解答化学谜语
泸州到叙永坐车要坐好久?
推荐资讯
求书,属于在异界开商店,有系统,接近无敌的
微信提现工商什么时候到账
北屯市和裕农业科技发展有限公司这个地址在什
张居正在高拱与冯保的斗争中为何站在冯保一边
凤城盛世怎么去啊,有知道地址的么
中国石油阿瓦提拜什艾日克加油站地址有知道的
长虹LT32630X开机几分钟正常后图像慢慢变白
简要说明幼儿有意运动的特点。
谁知道今天知道日报 哪种陆栖动物跑的最快 的
坝俚这个地址在什么地方,我要处理点事
海南黄花梨有紫到看不出纹路的料吗?帮我看一
博丽建装商店我想知道这个在什么地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?