zoukankan      html  css  js  c++  java
  • 下面几个例子考考大家来看看输出什么结果

    这几个是考察个人逻辑思维的,所以希望大家不要再电脑上敲,直接用大脑思考!

    第一个例子:

    class A

    {

      public static int x =3;

      static A()

      {

        x = B.y +1;

      }

    }

    class B

    {

      public static int y = A.x +1;

      static B()

      {

        y=1;

      }

      public static void Main()

      {

        Console.WriteLine("{0},{1}",A.x,B.y);

        Console.Read();

      }

    }

    第二个例子:

    class A

    {

      private string str = "class A str";

      private int i =0 ;

      static void StringConvert(string str)

      {

        str = "string being converted";

      }

      static void StringConvert(A a)

      {

        a.str = "stirng be converted";

      }

      static void Add(int i)

      {

        i ++;

      }

      static void AddWithRef(ref int i)

      {

        i ++;

      }

      static void Main()

      {

        int i1 = 10;

        int i2 = 20;

        string str = "str";

        A a = new A();

        Add(i1);

        AddWithRef(ref i2);

        Add(c.i);

        StringConvert(str);  

        StringConvert(a);

        Console.WriteLine(i1);

        Console.WriteLine(i2);

        Console.WriteLine(a.i);

        Console.WriteLine(str);

        Console.WriteLine(a.str);

        Console.Read();

      }

    }

    第三个例子:

    public abstract class A

    {

      public A()

      {

        Console.WriteLine("A");

      }

      public virtual void Fun()

      {

        Console.WriteLine("A.Fun()");

      }

    }

    public class B : A

    {

      public B()

      {

        Console.WriteLine("B");

      }

      public new void Fun()

      {

        Console.WriteLine("B.Fun()");

      }

      public static void Main()

      {

        A a = new B();

        a.Fun();

        Console.Read();

      }

    }

    第四个例子:

    public class A

    {

      public virtual void Fun1(int i)

      {

        Console.WriteLine(i);

      }

      public void Fun2(A a)

      {

        a.Fun1(1);

        Fun1(5);

      }

    }

    public class B

    {

      public override void Fun1(int i)

      {

        base.Fun1(i +1);

      }

      public static void Main()  

      {

        B b = new B();

        A a = new A ();

        a.Fun2(b);

        b.Fun2(a);

      }

    }

  • 相关阅读:
    LINUX下Mplayer的设置和作用
    C#的New关键字的几种用法
    Windows Mobile中实现统计图形的绘制(C#版,柱状图)
    maven install时跳过测试
    深入理解Java虚拟机二 阅读笔记
    VMware上安装虚拟机教程
    巴菲特的人生观
    全球15个顶级技术类博客
    针对Android里没有Arrays.CopyOf的解决办法
    Android基础project各个文件夹作用
  • 原文地址:https://www.cnblogs.com/jasonjiang/p/1765643.html
Copyright © 2011-2022 走看看