类class
用于描述事物特征
[访问修饰符]class 类名
{
类的描述信息;
}
访问修饰符(又称权限修饰符):用于描述这个类的访问权限,可不写,有默认值;
对象的语法
类名 对象名=new类名();
Apple a1=new Apple();
对象这种“数据”也是引用类型的
赋值的过程是传递的堆空间中的引用地址,两个对象指向同一个堆空间地址,修改任一对象数据,两个对象都会同时发生改变。
类与对象的关系
类用于描述一类事物的信息;
对象是这个类中的一个具体的个体。
类的默认访问标识符是 internal,成员的默认访问标识符是 private。
类是一个模具,对象是使用这个模具制作出来的一个具体的物体(实例化)。
类的成员:字段(变量),属性,普通方法,构造方法,析构方法。
public:公开的。通过(对象名.xxx)的形式可以直接访问到。
private:私有的。通过(对象名.xxx)的形式访问不到。
属性的语法
public 数据类型 属性名
{
get{return 字段名;}
set{字段名=value;}
}
get:当通过属性名取值的时候,会自动调用get中的代码;
set:当通过属性名给字段赋值的时候,会自动调用set中的代码;
value:也是系统关键字,代表赋给属性的值;
三种方法
普通方法
访问修饰符 返回值 方法名(参数列表)
{
}
构造方法
可以对实例化出来的对象进行初始化。
当我们使用new关键字实例化一个对象的时候,会首先执行构造方法。
public 类名()
{
构造函数代码;
}
1.构造方法要用public修饰,不能用private修饰;
2.构造方法没有返回值,且连void关键字也不能写;
3.构造方法的方法名字必须和类名一样;
4.构造方法是可以有重载的。
e.g. 当我们的类中不写构造方法的时候,在代码编译后,系统会自动给它添加一个空的构造方法,如果我们写了一个构造方法,默认的“空构造方法”就不存在了。
this关键字***
this代表当前类的对象
析构方法
常用于清理一个对象
~类名()
{
析构方法代码体;
}
1.析构方法不能有任何参数;
2.析构方法无返回值也无访问修饰符;
3.析构方法由系统自动调用;
4.析构方法可以不写。
“new”实例化关键字
1.在内存(堆空间)中开辟了一块空间;
2.在开辟出来的这个空间中创建对象数据;
3.调用对象的构造方法进行对象的初始化。