1、面向对象
internal :当前项目的内部,都可以访问
public: 公开的,跨项目的访问
private:私有的,只能在当前类的内部访问,字段或者属性或者方法
属性只get时为只读属性,只有set时为只写属性。
this.Name(this为当前类的对象)
int _score; (手动属性)
public int Score
{
get{return _score};
` set{_score = value};
}
Public int Score{get;set}(自动属性)
快速生成属性ctrl+R+E
2、构造函数
构造函数是专门为对象初始化而封装的一个方法。
特点:
1.不能写返回值
2.方法名和类名一样
新建一个类,如果类中,没有显示的写其他的构造函数,那么类,默认会有一个无参数的构造函数。
新添一个构造函数,不管有参还是无参,默认的无参数的构造函数会被清除。
:this调用
3、new:创建对象
1.在内存中开辟空间
2.在开辟的空间中,创建对象
3.调用对象的构造函数初始化
4、this:代表当前类的对象
1.显示的调用本类的构造函数,减少大量的初始化的冗余代码
2.this.XXXX:一定是【特指】当前类的对象的某个成员。
5、对象初始化器
Student zs = new Student(){参数}
6、静态&非静态
1.被static标记的成员,称之为静态成员
2.没有被static标记的成员,称之为【实例=对象】成员或者非静态成员。
3.实例成员属于【对象】,在类的外部,通过对象名去调用,在类的内部,通过this关键字调用
4.静态成员属于【类】,不管在外部还是内部,都需要类名进行调用,如果调用者和被调用者在同一个类中,可以省略类名。
5静态成员在类的内部可以直接使用,不需要传参数。
6.类直接调用的,一定都是静态成员,对象调用的,一定是实例成员。
7.全局共享
在整个程序运行的过程中,静态存储区域都不会被资源释放。静态成员始终消耗内存资源。
8.静态类不能使用实例成员。静态方法,只能访问静态方法。但是可以使用局部变量
7、静态的先于实例的出现在内存中
8、静态类
1.静态类不允许创建对象的
2.静态类中的所有成员都必须是静态成员
9、面向对象语法
封装、继承、多态
10、命名空间
跨项目访问
1.添加对要访问项目的引用
2.导入命名空间
3.将要跨项目访问的类的访问修饰符,修改为public
11、字符串
1.字符串具有不可变性
2.如果对字符串进行大量的操作,会在内存产生大量的垃圾。
----为了解决字符串的不可变性------
StringBuilder sb = new StringBuider();
字符串拘留池,常量会放进去,变量不会。
字符串可以看做是一个char类型的只读数组。
==和Equals比较的是值本身,ReferenceEquals比较地址
12、字符串的常用方法
1.Length:返回字符串的长度
2.==和Equals判断值本身
3.ToUpper返回大写,ToLower返回小写
string[] Split(params char[]separator):将字符串按照指定的分割符分割为字符串数组;
string[] Split(char[] separator , StringSplitOptions options)将字符串按照指定的char分割符分割为字符串数组