怎么理解C#中方法,重载,构造函数,传值、传引用

发布时间:2024-12-07 23:29 作者:游氏手游网

一、怎么理解C#中方法,重载,构造函数,传值、传引用

方法重载:

public int Show(int a , int b)

{

  return a+b;

}

public double Show(double a,double b)

{

 return a+b;

}

方法名一样,参数的个数或者参数的类型不同

同样调用方法,传值

Show(3,3); //方法自动找到Show(int a ,int b)

Show(1.5,5.5) //自动调用Show方法的double参数

方法重载好处就是用于实现一个操作,根据参数不同,运算方式也不同

构造函数

类有自己默认的构造函数,这个可以不用写

但一旦写构造函数,类自己默认的就会不起作用

通常会写2个以上的构造函数,把类本身自带的构造函数方法重载

public 类名() {} //空构造函数,类自带的

public 类名(参数1,参数2,……) //用户指定,用于初始化数据

构造函数通常都是重载的,在生成对象时,可以省去多行垃圾代码

Student s=new Student();

s.Name=张三;

s.Age=18;

这个是系统默认的构造函数,如果写上参数的话

Student s=new Student(张三,18);

这样就能省去下面的内容,是不是很方便呢?

值类型包括:基本数据类型int,long,float,char,bool 枚举类型enum 结构类型struct

引用类型包括:类:基类System.Object 字符串:string 自定义类:class

    接口: interface 和数组int[], string[]

值类型是传递值,引用传递的是地址

想让方法中的值类型转换为引用时,参数前面加上ref即可,当然调用时也许ref 参数

二、交换机工作原理到底是什么?

交换机中有一张MAC地址转发表,记录了MAC地址和交换机端口的对应关系,一个端口可以对应多个MAC地址,但一个MAC地址不能对应多个端口。这就使得交换机具备多级级联的能力,每个交换机在转发报文的时候只需要知道这个目的MAC可以从我的哪一个端口到达就行了,然后就把帧往这个端口发,至于后面的设备怎么处理他并不关心。就这样一级一级转发,知道电脑的网卡实际连接的交换机把帧发到网卡以后,网卡一看目的MAC就是自己,然后就解封装,交由三层协议栈进行处理。

以上是转发表和转发的过程,那么另外一个关键的问题是交换机的这张MAC地址表是怎么建立的,部分是根据主动发起请求的报文,把源MAC和从哪一个端口收到的建立对应,另一部分在收到报文的时候如果MAC表里还没有这个目的MAC,那么就在除了收到这个报文的端口以外的其他端口进行一次洪泛,等待目的MAC的终端响应。

三、简述网络交换机工作原理

1.交换机根据收到数据帧中的源MAC地址建立该地址同交换机端口的映射,并将其写入MAC地址表中。

2.交换机将数据帧中的目的MAC地址同已建立的MAC地址表进行比较,以决定由哪个端口进行转发。

3.如数据帧中的目的MAC地址不在MAC地址表中,则向所有端口转发。这一过程称为泛洪(flood)。

4.广播帧和组播帧向所有的端口转发。

四、java方法重载中,参数排列的顺序算不算方法的重载?

当然不算,改变顺序并不影响结果

手游推荐