⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 7-9.cs

📁 java基础方面的一些实例代码
💻 CS
字号:
//程序7-9
using System;
class Reftest { public int testInt; }
class Student 
{
	public int studID;
	public string studName; // string特殊引用对象,浅复制的行为等同于值类型
	public Reftest Ref1;    // 引用类型
}

class CollegeStudent: Student 
{
	public int DepartmentID;
	// 在派生类中定义一个方法,实现浅复制
	public CollegeStudent ShallowCopy()
	{	return (CollegeStudent)MemberwiseClone();
	}
    
}
public class Test
{
	public static void Main() 
	{	CollegeStudent S1 = new CollegeStudent();
		S1.studID = 2003179;
		S1.studName = "Sam";
		S1.DepartmentID=001;
        S1.Ref1 = new Reftest();
		S1.Ref1.testInt = 444;
        
		CollegeStudent S2 = S1.ShallowCopy();
		Console.WriteLine(S1.studID+"  "+S1.studName+" "+S1.Ref1.testInt);
		Console.WriteLine(S2.studID+"  "+S2.studName+" "+S2.Ref1.testInt);

		Console.WriteLine("============");
		S1.studID = 2003;       // 不会改变S2.studID的值
		S1.studName = "hi hi";  // string特殊引用对象,不会改变S2.studName的值
		S1.Ref1.testInt = 333;  // 将同时改变S2.Ref1.testInt的值,因为通过浅复制,S1.Ref1和S2.Ref1引用相同
		Console.WriteLine(S1.studID+"  "+S1.studName+" "+S1.Ref1.testInt);
		Console.WriteLine(S2.studID+"  "+S2.studName+" "+S2.Ref1.testInt);


	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -