01.类的定义与对象的实例化
类的定义:文件名就是类名
给类中添加属性
- 私有属性:String color;
- 公有属性:public String color;
对象的实例化
- 类名 变量名 = new 类名();
● 获取对象的属性值并修改
- 对象.属性名=值
02.定义方法并使用
定义方法格式:
- 访问修饰符 返回值类型 方法名( 形参的类型 形参名称 ){方法执行内容}
返回值类型
- 默认:void
- 基本类型:如int
- 数组:数组名[]
- 字符串:String
- 自定义的类:类名
调用方法
- 对象调方法:对象.方法名( );
- 例:a.method();
- 方法调方法:方法名( );
- 例:method();
调用带有返回值的方法
- 用一个和返回值相同类型的变量 接收这个返回值
- 返回值类型 变量名 = 对象.方法名( );
- 例:String js = a.method( );
调用带有参数的方法
- 对象.方法名( 实参1,实参n );
- 例:a.method ( eee: “成功”, i: 5 );
03.对象数组
与普通数组的区别
- 对象数组可以存自定义对象
- 普通数组存基本数据类型
对象数组的定义
- 类名[] 变量名 = new 类名[长度];
- 对象数组中的方法调用
- 遍历调用每一个数组成员的方法
for(int i=0; i<对象数组.length; i++){
对象数组[ i ] . 方法名();
}
04.修饰符
一、属性修饰符
Serializable:按值将对象封送到远程服务器。在按值封送对象时,就会创建一个该对象的副本,并将其序列化传送到服务器。 任何对该对象的方法调用都是在服务器上进行的。
STAThread:单线程套间、是一种线程模型
MTAThread:多线程套间、是一种线程模型
二、访问修饰符
类型 | 代码 | 作用 |
---|---|---|
公有访问 | public | 不受任何限制 |
保护访问 | protected | 实例不能访问 |
私有访问 | private | 子类,实例都不能访问 |
内部访问 | internal | 只限本项目内访问,其他不能访问 |
内部保护访问 | protected internal | 只限于本项目或是子类访问,其他不能访问 |
三、类修饰符
public:不受限制
internal:只限本项目内访问
Partial:部分类,可以将一个类分成几部分写在不同文件中,最终编译时将合并成一个文件,且各个部分不能分散在不同程序集中。常见场景在Winform定义窗体或者控件时,自动生成的前端单元和逻辑单元。
Abstract:修饰类,表示不能够创建该类的实例。修饰方法,表示该方法需要由子类来实现,如果子类没有实现该方法那么子类同样是抽象类;且含有抽象方法的类一定是抽象类。
Sealed:修饰类,表示该类不能够被继承。修饰方法,表示该方法不能被覆写。
Static:修饰类,表示不能够实例化该类的对象,也不能含有对象成员;修饰类成员时,该成员为类成员,只能通过【类.成员名】的方式访问。
四、成员修饰符
公共修饰符:public
私有修饰符:private
保护修饰符:protected
内部修饰符:internal
Virtual:修饰方法成员,表示虚方法。父类可以含有该类的实现,子类可以覆写该函数。
Override:表示该方法为覆写了父类的方法。
Readonly:修饰字段,表示该字段为只读字段。
Const:修饰字段,表示该字段为只读字段。并且在编译时必须能够明确知道该字段的值,其值是硬编码到程序中去的,修改了该类型成员后需要重新编译才能使修改生效。
Readonly不能修饰局部变量,const可以。
abstract用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化。抽象类可以包含抽象的成员,但这并非必须。abstract不能和new同时用。
sealed用来修饰类为密封类,阻止该类被继承。同时对一个类作abstract和sealed的修饰是没有意义的,也是被禁止的。
注意:当一个类或方法没有被任何修饰符修饰时,默认为internal。
6.预处理器:#region、可折叠代码块
用法:
#region 折叠后的说明文字
中间的代码
#endregion
例,折叠前:
折叠后: