1.public访问修饰符的成员可以被其他的类访问,private访问修饰符修饰的成员只能在本类中被访问 2.this关键字代表的是当前的对象。在类的内部,可以用this关键字访问它的成员
一.==和equals()的区别
1.在java当中,==比较的是内存首地址,equals比较的是两个字符串在内存中的值2.在C#中,==和Equals()方法的作用相同,比较两个字符串的值,因为当我们使用==的时候,在底层代码中它还是调用了Equals();
二.访问级别
1.public 公有的 外界任何地方都可以访问到,访问级别最高
2.private 私有的 只能类的内部使用,其他类中访问不到 访问级别最低三.this关键字
通过this可以访问当前类的所有成员变量和方法 例如:this.name; this.Show();四.如何给私有字段赋值和取值
private string name; public string GetName(){return this.name;
} public void SetName(string name){this.name=name;
}
五.使用属性解决数据安全问题,通过公有属性访问私有字段 private int age; public int Age{get{return this.age;}
set{ if(vaule<0||value>100){value=18;
this.age=value;}else{
this.age=value;
} } }get和set都存在:读写属性
只有get时:只读属性 只有set时:只写属性 属性的作用: 控制私有字段的可访问性 保护内部数据的安全 类内部敏感字段使用属性来控制访问六.对象初始化器
Student stu = new Student(){Name="Mike", Age=20};七.封装
封装字段——将类中的字段、属性绑到一起 将私有字段封装成公有属性 封装是面向对象的三大特性之一(继承,多态) 好处: 1.隐藏了类中的内部细节 2.避免了非法数据 3.保证了数据的安全性和完整性 八.值传递和引用传递 值传递:传递的是真实的值(更改的只是值) 引用传递:传递的事内存地址(在我们交换或者更改值的时候更改的是内存地址中的值) 注意: 1.如果使用引用传递的话必须要将参数初始化 2.如果在使用引用传递的时候在方法调用时需要加上ref 3.C#属性可以可以利用get访问器获得字段的值,利用set访问器设置字段的值,在访问器中可以对数据进行约束。