作者: 游氏手游网 发布时间: 2024-12-07 23:29
方法重载:
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.广播帧和组播帧向所有的端口转发。
当然不算,改变顺序并不影响结果