Java 类的定义

本文最后更新于:2024年3月18日 凌晨

Java 类的定义

类定义包括声明和类体两部分,类定义的语法格式为:

1
2
3
[修饰符]class 类名 [extends 父类名][implements 接口列表]{
... // 类体部分。
}
  • 类定义中带方括号"[]"的内容为可选部分。
  • 修饰符有访问控制修饰(如public)和类型修饰(如abstract,final)
  • 关键字class引导要定义的类,类名为一个标识符,通常首写字母为大写。
  • 关键字extends引导该类要继承的父类。
  • 关键字implements引导该类所实现的接口列表。
  • 类体部分用一对大括号括起来,包括属性和方法的定义,类的属性也称为域变量,反映了类的对象的特性描述,而类的方法表现为对类对象实施的某个操作,往往用来获取或改变类对象的属性值,方法通常以小写字母开始。
  • 一个".java"源文件中是否可以包含多个类(不是内部类),但一个源文件中最多只能有一个公开类(public class)而且文件名必须和公开类的类名完全保持一致。

类的成员变量的定义格式

1
[修饰符] 类型变量名;
  • 成员变量:作用范围是整个类,相当于C语言中的全局变量,定义在方法体和语句块之外,一般定义在类的声明之下;成员变量包括:实例变量,类变量(又叫静态变量)和常量。
  • 局部变量:作用范围在它定义的方法体或者语句块内部,出了这个范围就无效了。
  • 实例变量:不用static修饰的成员变量,随对象的创建而创建,每个对象都有自己的独有的实例变量,属于对象私有;调用要实例化对象,用对象名。实例变量名才可以调用,如:Demo demo = new Demo(); int YouAge = demo.age;(当然,一般都会将成员变量设为private,通过属性方法调用)
  • 静态变量:用static修饰的成员变量,又叫类变量,一个类里只有一份,属于对象共有,调用是一般用类名。静态变量名就可以调用,或者用对象名。静态变量名也可以调用,调用的都是同一个变量,如:Demo.height
  • 类变量:和静态变量是同一个概念。
  • 常量:用static final修饰的成员变量叫常量,在类中也是只有一份,同时不可以修改它的值。
  • 字段:通常是在类中定义的成员变量,所以也和成员变量的概念差不多是一个意思。
  • 属性:属性是只局限于类中方法的声明,不与其他的类成员相关,只与类中的get()/set()方法有关。如果类中有这样的getX()/setX()方法,我们就可以说类中有可以读写的x属性(如果getXY()/setXY()方法后面的Y是小写,就叫xy属性,如果Y是大写,就叫XY属性)

类的成员方法的定义格式

1
2
3
[修饰符] 返回值类型方法名([参数定义列表])[throws 异常列表]{
...方法体。
}
  • 注意:当一个以上的修饰符修饰类或类中的域,方法时,这些修饰符之间用空格开,修饰符之间的先后排列次序可任意。

[例5-1]:表示点的Point类。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Point{
private int x; //x坐标。
private int y; //y坐标。

public void setX(int x1){
x = x1;
}

public void setY(int y1){
y = y1;
}

public int getX(){
return x;
}

public int getY(){
return y;
}

public String toString(){ // 对象的字符串描述表示。
return "点:"+x+","+y;
}
}
  • 说明:在Point类中,第2-3行定义了两个属性,x,和y分别表示点的x,和y坐标,第5-7行定义了setX()方法,该方法将修改点的x属性值,第9-11行定义了setY()方法,该方法将修改点的y属性值,第13-15行定义了getX()方法,该方法用来获取点的x属性值,第17-19行定义了getY()方法,该方法用来获取点的y的属性值,第21-23行定义了toString()方法,该方法用获取对象的描述信息,它将对象的x,y属性拼接为一个字符串作为返回结果。
  • 注意:定义类时,通常将给类的属性加上private访问修饰,表示只能在本类中访问该属性,而给类的方法加上public访问修饰,表示该方法对外公开。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!