11.Java语言中的类

前面说了类和对象比较宽泛的定义,现在专在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()等。具体语法请看后面部分内容。

 

你可能感兴趣的:(java语言)