Welcome 微信登录

首页 / 软件开发 / JAVA / 类的概念

类的概念2013-12-05什么是类?

类是对象的蓝图或者原型。这一部分会详细说明类是怎样模拟现实世界中对象的状态和行为的。它是基础,它会告诉你就是一个简单的类也能很好地模拟对象的状态和行为。

在现实世界中,你会发现很多独特的对象具有相同的种类。比如成千上万辆自行车,制作方法和模型都是相同的。每一个辆自行车都是从相同的设备和图纸中制造出来的,所以具有相同的组件。在面向对象的术语中,我们就说这辆自行车是自行车这个对象的中的一个实例。类就是对象的蓝图。

下面给出自行车这个类的用法:

class Bicycle { int cadence = 0; int speed = 0; int gear = 1; void changeCadence(int newValue) {cadence = newValue; } void changeGear(int newValue) {gear = newValue; } void speedUp(int increment) {speed = speed + increment; } void applyBrakes(int decrement) {speed = speed - decrement; } void printStates() {System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear); }}
上面的Java语法可能对于来说是很新鲜的,但是这个类的设计是基于前面所讨论的自行车对象。字段cadence,speed和gear都是对象的状态,方法changeCadence,changeGear,seepUp等等定义了与外界的交互。

 

你可能注意到自行车类不包含main方法。这是因为上面的不是一个完整的应用程序,它仅仅是可能会在自行车对象中被使用的蓝图。它的功能是创建一个自行车的新对象,这个对象可以在其他的程序中使用。

 

下面这个BicycleDemo类就是创建两个单独的自行车对象,还要调用它们的方法:

class BicycleDemo {public static void main(String[] args) {// Create two different Bicycle objectsBicycle bike1 = new Bicycle();Bicycle bike2 = new Bicycle();// Invoke methods on those objectsbike1.changeCadence(50);bike1.speedUp(10);bike1.changeGear(2);bike1.printStates();bike2.changeCadence(50);bike2.speedUp(10);bike2.changeGear(2);bike2.changeCadence(40);bike2.speedUp(10);bike2.changeGear(3);bike2.printStates();}}
其打印的结果是:

cadence:50 speed:10 gear:2

cadence:40 speed:20 gear:3