欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

11.Java语言中的类

程序员文章站 2022-04-29 10:01:39
...

前面说了类和对象比较宽泛的定义,现在专在Java编程语言中,来说说说Java中类,以及如何写出一个合乎编译器要求的类来。

 

前面说了,类可以看做是对象的蓝图,它是用来描述一组具有相同特征对象的。那么,对象中,最重要的两种特征内容,就是:

 

1.数据

2.行为

 

数据就是描述对象的信息的静态信息了。比如一辆汽车,它的型号,价格,出厂日期等等,都是这个汽车对象的静态信息数据。

行为就是这个对象可以完成的行为,操作等,是对象的动态特征。接上个例子,汽车可以启动,行驶,刹车等等,都是这辆汽车的动态特征。

 

通过这两方面的特这内容,基本上这个对象就可以描述清楚了。

 

Java中类就是完全模拟了类的特征内容。在Java类的定义规范里面,有两方面内容来对应类中的数据和行为:

 

1.属性

用来描述对象的数据元素称为对象的属性(也称为数据/状态)

 

2.方法

对对象的属性进行的操作称为对象的方法(也称为行为/操作)

 

Java中类的声明语法规范(即如何定义一个标准的Java类) 

 

语法规则:

 

[< modifiers>] class < class_name> {
[<attribute_declarations>]
[<constructor_declarations>]
[<method_declarations>]
}

 

中括号中内容,说明是可以省略的。尖括号中的内容,是必须做出定义的。其他的内容即关键字,和最基本的符号。比如class,说明定义了一个类,而不是其他的Java语言组件内容。

 

下面这个是一个简单的类的声明示例:

 

public class Student {
	// 定义属性
	private String name;

	private String sex;

	private int grade;

	private int age;

	// 定义属性“name”的设置方法
	public void setName(String student_name) {
		name = student_name;
	}

	// 定义属性“name”的获取方法
	public String getName() {
		return name;
	}

	// 定义属性“Sex”的设置方法
	public void setSex(String student_sex) {
		sex = student_sex;
	}

	// 定义属性“Sex”的获取方法
	public String getSex() {
		return sex;
	}

	// 定义属性“grade”的设置方法
	public void setGrade(int student_grade) {
		grade = student_grade;
	}

	// 定义属性“grade”的获取方法
	public int getGrade() {
		return grade;
	}

	// 定义属性“age”的设置方法
	public void setAge(int student_age) {
		age = student_age;
	}

	// 定义属性“age”的获取方法
	public int getAge() {
		return age;
	}
}

 
基本上看这个范例,它要做什么,是什么意思,看代码比较清楚了。这就是面向对象编程语言(或者说高级编程语言)比较贴近自然语言的原因。

 

下面是简单的说明:

 

<modifiers>为修饰符,可用的有public,abstract和final等关键字(关键字是Java语言中赋以特定含义、并用做专门用途的单词,类名、方法名和属性名以及变量名不能是关键字),用于说明所定义的类有关方面的特性。对于各种关键字和它们的含义以及各自的适用范围,请看后续的介绍;


class也是Java语言关键字,表明这是一个类的定义;


<class_name>是类的名字,如示例中的“Student”,类名一般使用一个用于表示这个类的名词来表示;这里就说明定义了一个学生类,用来描述一组学生对象


<attribute_declarations>是属性(attribute)声明部分,如示例中的“age”、“name”、“sex”、“grade”。具体语法请看后面部分内容;


<constructor_declarations>是构造器(constructor)声明部分。具体语法请看后面部分内容;
<method_declarations>是方法(method)声明部分,如示例中的public void setGrade(int student_grade)、public int getGrade()等。具体语法请看后面部分内容。