首页 > 编程语言 > 详细

c#的方法重写和的java方法重写有什么区别

时间:2015-12-25 13:27:13      阅读:146      评论:0      收藏:0      [点我收藏+]

java code:

package example;
class m1
{
 public int getInt()
 {
  return 0;
  
 }
}
class m2 extends m1
{
 public int getInt()
 {
  return 1;
 }
}
public class Override
{
 public static void main(String[] args)
 {
  m1 m = new m2();
  m.getInt();
  System.out.println(m.getInt());
 }
}
//输出的是1,说明是调用的是m2的getInt()方法

 

 

c# code:

 

namespace test1
{
    class Override
    {
        public int getInt()
        {   
            return 0;
        }
    }
    class InheritOverride : Override
    {
         public int getInt()
        {
            return 1;
        }
    }
    class G0
    {
        static void Main()
        {
            Override i = new InheritOverride();
            int j = i.getInt();
            Console.Write(j);//输出的是0,说明调用的是父类的getInt()方法
            Console.ReadKey();
        }
    }
}

 

区别是早期加载和晚期加载

晚期加载
 m1 m = new m2();
调用的是m2的方法

早期加载
 m1 m = new m2();

c#的方法重写和的java方法重写有什么区别

原文:http://www.cnblogs.com/VincentWang/p/5075343.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!