类与对象的初步理解
马克思主义原理概论中提到,人类对事物的理解是一个“具体--抽象--具体”的过程
Java中: 类==抽象;
对象==具体;
拿大家熟悉的游戏《英雄联盟》举个例子: “亚索”和“小法”(具体的英雄,即对象)都是“英雄”(抽象的类),他们属于同一类是因为他们都一些具有相同的属性(即Java类中的属性) :攻击力,法术强度,护甲,生命值,技能; 同时,他们也有相同的行为(即Java类中的方法): 战斗,购买装备。
Java中: 类的创建 == 具体--抽象
根据一些具体的对象,找到他们所拥有的共性(包括属性和方法),创建一个类,便是一个由具体到抽象的过程。
格式:public class 类名{}
例如: public class hero{}
其中类名是这一类对象的名称,比如“英雄”,“学生” 等。
在{}中便可定义类的属性和方法
属性定义的格式: public 属性类型 属性名;
例如:public String name; public int lifevalue;等
方法定义的格式: public 方法返回值类型 方法名(参数类型 参数名,……){方法体}
(其中方法体是方法需要执行的内容)
例如: public void fight(hero X){System.out.println(“name+“正在攻击”+X.name”)}
void表示无返回值,而方法体表示在调用该fight方法时在屏幕上输出“谁正在攻击谁”的文字;
其中的注意事项:方法中要用到自己的属性,则直接写属性名(示例中的name);
方法的参数为方法的外部条件(示例中的hero X为另一个对象)
Java中: 对象的创建 == 抽象--具体
根据已创建的类,创建一个属于这个类的新的具体对象的过程,便是由抽象到具体的过程;
例如:已创建了“英雄”的类,现在推出一个新英雄“Obama”,即为对象的创建。
对象的创建的格式: 类名 对象名 = new 类名();
例如: hero Obama = new hero();
此时,对象Obama 属于类hero,因此,Obama便拥有了hero的属性和方法。
对象的属性使用:
格式:对象名.属性名
例如:Obama.name; Obama.lifevalue;
对象的方法使用:
格式: 对象名.方法名(参数值,……);
例如: Obama.fight(亚索);
此时屏幕显示文字:Obama正在攻击亚索
Java中的类有点像C语言中的结构体,但与之不同的是,类中可以定义方法,而结构体却不可以定义函数。因此,学过C语言的同学可以将类看成升级版的结构体,让我们编程的时候可以更加方便高效