黑马程序员——类,访问修饰符,属性,构造方法,命名空间,类图,params
来源:互联网 发布:网站域名注册证书 编辑:程序博客网 时间:2024/05/21 22:13
l 类是抽象的概念,仅仅是模板,比如说:”人”类.
l 对象是一个你能够看得到、摸得着的具体实体
l “人”类都有:姓名\性别\年龄 属性,有说话的方法。
l 张三是一个对象,他的姓名属性的值:张三 性别的属性的值:男 年龄属性的值:20 张三会说话。
l 对象可以叫做类的实例(instance)。
l 类不占内存,对象才占内存。
定义类的语法:
[访问修饰符]class 类名
{
成员;
。。。。。。
}
在我们自己写的类中,我们在写方法时,先不用加static。
下面我们定义了一个叫Person的类,这个类仅仅是人这个对象的模板。
在这个模板中规定人类对象都应该有姓名,性别,年龄属性,和SayHello的方法。
如何通过一个类来产生一个对象呢?
通过类来产生一个对象的过程,叫类的实例化。
类的实例化:
类名 实例名 = new 类名();
Person zsPerson;//定义了一个变量,这个变量的类型时Person类型。
zsPerson = new Person();//通过new关键字来产生一个Person对象,此时占用了一块空间。
zsPerson和lsPerson是实例名。
访问类的属性:
实例名.属性名
访问类的方法:
实例名.方法名()
只要没有加static的方法或属性,都必须先实例化,再通过实例名.方法名或者实例名.属性来访问。
加static的方法或属性,可以直接通过 类名.方法名或类名.属性来访问。
访问修饰符:
public:可以再任意地方被访问
internal:只能在本项目中被访问
private:只能在本类中被访问
protected:只能在本类和子类中被访问
在类这个级别,不写访问修饰符默认为internal
在一个类中定义变量或者方法时,没有写访问修饰符,则默认为private
属性:
通俗点说,就是定义一个public的具有get/set方法的变量。这个变量时用于保护一个私有变量。
l 属性是为了保护与之相对应的字段的.保证对字段的读取和赋值符合要求.
l 属性可分为:读写、只读、只写。
l 允许外部访问的变量一定要声明为属性。
读写属性:具有set/get方法的属性
只读属性:只有get方法的属性。这个属性只能读取,不能写入。
只写属性:只有set方法的属性。这个属性只能写入,不能读取。(用的很少)
当我们实例化一个类时,系统会自动对这个类的属性进行初始化。
数字类型初始化成0/0.0
string类型初始化成:null
char类型初始化成:\0
构造方法:
使用构造方法的好处:
l 对多个属性进行复制时,不需要重复的写实例名。
l 可以保证用户在new一个对象的时候必须对某个属性进行赋值。
l 和第2类似,在创建对象时,对只读属性进行初始化。
当我们定义好一个类后,如果我们没有写构造方法,那么系统会自动给我们加一个默认的无参数的构造方法。在这个构造方法中什么也不做,我们也看不到。
我们可以自定义一个构造方法:
自定义一个构造方法后,不再有默认的无参构造方法。如果需要自己写一个。
构造方法是一个特殊的方法,她的名字和类的名字相同,并且没有返回值。连void都得省略。
构造方法用来创建对象,即在构造方法中对对象进行初始化。
构造方法也可以重载,也就是有多个参数不同的构造方法。
命名空间:
l namespace(命名空间),用于解决类重名问题,可以看做“类的文件夹”。
l 如果代码和被使用的类在一个namespace则不需要using。
l 在不同命名空间下的类调用有两种方法:1.写全称 命名空间.类名 2.先using引用命名空间,再调用。
l 命名空间是逻辑上的划分,不是物理上的划分。
类图:
“—”表示是私有的属性。private
“+”表示公有的属性。public
下图是.net中的类图。
析构函数(*):清理垃圾用的函数,在C#中不需要了,已经有了垃圾回收机制。
l 不能在结构中定义析构函数。只能对类使用析构函数。
l 一个类中只能有一个析构函数。
l 无法继承或重载析构函数。
l 无法调用析构函数。它们是被自动调用的。
l 析构函数即没有修饰符,也没有参数。
和构造函数(方法)类似。
是最后一个被调用的方法。
params:
params可以把n个参数变成一个数组参数。
可变数组必须作为最后一个参数。
- 黑马程序员——类,访问修饰符,属性,构造方法,命名空间,类图,params
- 黑马程序员—命名空间、类、访问修饰符日志
- 黑马程序员------类访问修饰符属性
- 黑马程序员---类和成员的各种访问修饰符大全,命名空间的使用
- 黑马程序员--构造方法与命名空间
- 黑马程序员_构造方法、类图、命名空间
- 黑马程序员_对象、类、属性、访问修饰符
- 黑马程序员———方法属性及类的一些修饰符
- 黑马程序员——params
- 构造方法、package、静态属性、访问控制修饰符知识点
- 黑马程序员—访问修饰符与ArrayList集合
- 黑马程序员---访问修饰符
- 黑马程序员---修饰符和访问修饰
- 黑马程序员 C#中使用访问修饰符来修饰属性
- 类、属性、方法、接口 的 修饰符、访问修饰符
- Java细节02——类、接口、构造器、属性、方法的修饰符
- 黑马程序员C#中类的可访问修饰符
- 黑马程序员-访问修饰符的学习
- 解决ubuntu下安装myeclipse10后无法出现自动提示
- LoadCursorA' : cannot convert parameter 2 from 'const int' to 'const char *
- hdu 1063 Exponentiation
- 网站测试小工具
- android TWEEN的四种动画
- 黑马程序员——类,访问修饰符,属性,构造方法,命名空间,类图,params
- Mac和PC在工作中管理的对比(1)
- Java语言异常处理学习笔记续
- u盘安装ubuntu server系统
- vim 配置(window下的)
- 自适应Canny算法的C++实现[与Matlab的效果非常相近]
- explode
- Mac和PC在工作中管理的对比(2)
- openfire 配置IP