目录
- 类(class)与对象(object)
- 创建类与对象
类(class)与对象(object)
在 Java语言中,一个最重要的知识点就是类与对象,那么什么是类什么是对象呢?
- 对象:对象是类的一个实例(对象不是找个女朋友🐶),有状态和行为。例如,一条🐶是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
- 类:类是一个模板,它描述一类对象的行为和状态。
下图中汽车为类(class),而具体的每辆车为该汽车类的对象(object),对象包含了汽车的颜色、品牌、名称等。
类中还可以定义成员变量或成员函数(一般也可以叫做方法),成员函数和变量定义时可在前面加上可见度关键字,表示这个方法或变量的可见度。成员函数或变量就相当于这个类的各种属性,是可以被这个类的实例(这个类的对象)各种调用的。
这里小小的科普一下:一般来说,成员变量可以不初始化,但是局部变量是需要初始化的哦
类内的成员函数不管是不是静态,只要实例化这个类,就可以通过对象调用。
回到上图,我们把汽车看作是一个class,那么这个类的object就是车的品牌,接着这个类的成员函数(可能变量会更贴切)就是他们的颜色、所属品牌、型号(原谅我对车不怎么了解)
接着我们就来到下一个学习环节:学会用代码实现类与对象的创建
创建类与对象
类与对象的创建一般要经历以下几个过程:
- 声明类
- 在创建好的类内声明构造函数(可有可无)
- 在类内声明成员函数(或重写重载成员函数,后续详细讲)
- 实例化这个类
这五个步骤我们一步一步的慢慢走过去
首先是第一步,那么声明类的时候我们需要注意,在c++语言中,类的声明在大括号外紧跟着一个分号,也就是这样的:
class className{
public: //可见度声明
type functionName(type a1,type a2,…,type an){ //一个只包含空语句的成员函数
; //空语句
}
}; //注意,这里有分号!
而在Java语言中,我们不能这样做。在 Java语言里声明一个类的格式是
<public> class ClassName{ //用<>扩起来的可有可无,取决全在于你自己
<public> <static> type functionName(type a1,type a2,…,type an){
} //这个函数是空的
}
详细的来剖析一下,首先,类的可见度可有可无,但是类的可见度非常重要,关乎整个程序,在整个程序中,有且只有一个public类,并且这个类名必须作为文件名(不含后缀),否则会报错,有两个及以上public类也会发生报错。
第二个构造函数会在类实例化的时候自动运行,参数在那个时候给出,语法:
可见度 类名(形参){}
在类里需要成员函数或成员变量,这个类才是完整的。成员函数和变量就像定义函数和变量一样,只不过前面有可见度的声明。
最后一步也是最重要的一步——实例化类,又或者叫做创建对象。创建对象时,可以用new来创建一个对象,如果这个类中含有构造器也就是构造函数,那么实例化的时候就要带上构造函数的实参。以下是语法实例:
类名 对象名 = new 类名(构造器的实参);
(未完待续)