Java API 提供了一些现有的类,程序员可以使用这些类来创建对象,例如String 类。除了使用现有的 Java 类,程序员还可以自定义 Java 类,接下来会详细地介绍如何定义和使用 Java 类。
我们在编写第一个 Java 程序时已经知道,类是 Java 程序的基本单元。Java 是面向对象的程序设计语言,所有程序都是由类组织起来的,也可以说“类是 Java 的一等公民”。下面是类定义的语法形式。
public class 类名{
//定义类属性
属性1类型:属性1名;
属性2类型:属性2名;
…
//定义方法
方法1定义
方法2定义
…
}
在 Java 中,class 是用来定义类的关键字,class 关键字后面是要定义的类的名称,然后有一对大括号,大括号里写的是类的主要内容。
类的主要内容分两部分,第一部分是类的属性定义,在前面的课程中学习过,在类内部、方法外部定义的变量称为成员变量,也可以称为成员属性,或简称为“属性”。第二部分是类的方法定义,通过方法的定义,描述类(对象)具有的动态行为,这些方法也可以称为成员方法,或简称为“方法”。
例如我们可以创建一个学生类 Student,代码如下:
public class Student {
String stuName; //学生姓名
int stuAge; //学生年龄
int stuSex; //学生性别
int stuGrade; //学生年级
//定义听课的方法,在控制台直接输出
public void learn() {
System.out.println(stuName + "正在认真听课!");
}
//定义写作业的方法,输入时间,返回字符串
public String doHomework(int hour) {
return "现在是北京时间:" + hour + "点," + stuName + " 正在写作业!";
}
}
定义好一个类后,就可以根据这个类创建(实例化)对象了。类就相当于一个模板,可以创建多个对象。创建对象的语法形式如下。
类名 对象名 = new 类名();
在学习使用 String 类时,已经使用过这种语法,所以大家对这样的语法形式并不陌生。创建对象时,要使用 new 关键字,后面要跟着类名(构造方法名),类名后的括号内可传递构造参数。
根据上面创建对象的语法,例如我们要在 Student 类里创建王云这个学生对象,代码如下。
Student wangYun = new Student();
这里,只创建了 wangYun 这个对象,并没有对这个对象的属性赋值,考虑到每个对象的属性值不一样,所以通常在创建对象后给对象的属性赋值。在 Java 语言中,通过 . 操作符来引用对象的属性和方法,具体的语法形式如下。
对象名.属性 ;
对象名.方法() ;
通过上面的语法形式,可以给对象的属性赋值,也可以更改对象属性的值或者调用对象的方法,具体的代码如下
wangYun.stuName ="王云";
wangYun.stuAge = 22;
wangYun.stuSex = 1; //1代表男,2代表女
wangYun.stuGrade = 4; //4代表大学四年级
wangYun.learn(); //调用学生听课的方法
wangYun.doHomework(22); //调用学生写作业的方法,输入值22代表现在是22点