Java中的类(一)

面向对象编程最大的体现就是类。Java是完全面向对象(OOP,Object Oriented Programming)的编程语言,任何程序都是基于类。面向对象编写的程序是由对象组成的,这些对象有自己的属性和能够执行的操作。

Java中所有的代码都写于类的内部。可以把类看成生产汽车的模型,只要根据模型就可以生产同样型号的成品汽车,成品可以有很多了,而模型只需要有一个。类也是如此,可以实例化一个类而生成一个“成品的”对象。更细一点看,可以把发动机与变速箱看作两个不同的类,各自有不同的构造和功能,而之间也可以相互协作。同样,不同的类之间也能互相操作。

Java中使用class关键字声明一个类,其后跟着类名。类名的首字母必须大写,类名中不能含有空格,建议类名中每个单词的首字母都进行大写。一个基本的类定义形式为:

class ClassName{
    constructor    //构造器
    …
    method    //方法
    …
    field    //域
    …
}

一个简单的Java类可以是这样的:

class Car{
    public Car(){
        speed=0;
    }
    public void accelerate(int a){
        speed+=a;
    }
    public int getSpeed(){
        return speed;
    }
    private int speed;
}

然后将这个Java源文件保存为Car.java。Java中文件名必须和类名相同,当文件中有多个类,文件名必须与public类名相同。在一个源文件中,只能有一个public类。

这个Car类中有一个构造器,两个方法和一个用于存放数据的实例域。域这个名词让人感到难懂,实际上这只是一个学术名词,实际上域就是声明的变量。之前说过变量生命了才可以使用,而其他方法和构造器中都使用到了speed变量,没有生命的话是不可以使用的,因此在域中声明变量,因此在类中的任意地方都可以使用了。

再来看看构造器,构造器与类同名。在构造Car对象的时候,构造器被调用,并进行初始化。因此构造器中因该放置希望对象被构造初始化时的代码。

使用下面的代码创建一个Car的实例

new Car();

此时,构造器将speed变量初始化为0。构造器总是伴随着new运算符被调用。

类比较复杂,今天就讲这么多,剩下的下次讲。

2 Comments

  1. 哦……说的好专业啊
    我们班书上写的一点不学术
    我终于也明白构造器这种专业名词的意思咯 哈哈~

    Reply

Leave a Comment.