一、类与对象的基本概念
类:是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法)
对象:对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。
可以通过举例很好的理解类与对象的关系,例如学生是一个类,作为学生的我就是一个具体的对象。
类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。
二、java中的类
类的形成意味着这个集合是有共性的,把学生作为一个类的话,学生都有姓名,学号,成绩等,这些被称为类的属性。学生还都有共性的行为,如学习,吃饭等,这些被称为类的方法。
1.类的创建:
public class 类名{ }
2.类的属性定义:
public 属性数据类型 属性名;
3.类的方法定义:
public 方法返回值类型 方法名(参数类型 参数名){
方法体
}
三、java中的对象
1.对象的创建:
类名 对象名 = new 类名();
2.对象属性的调用:
对象名.属性名
(定义方法时,若要调用自身的属性可以省略对象名)
3.对象方法的调用:
对象名.方法名(参数值);
四、实际场景
我们设立一个英雄联盟游戏类的场景,来运用类与对象的知识。
场景是两位英雄,潮汐海灵和疾风剑豪在中路对线。双方各自攻击对方一下。
在这个场景中显然主要有两个对象,潮汐海灵和疾风剑豪,他们有一定的共性,我们可以把他们两个归为英雄类。根据他们的共性,英雄类,可以定义的属性有,都拥有名字,血量,攻击力(为了简单,不引入复杂的属性计算)等。可以定义的方法有 普通攻击——使对方的血量减少自己的攻击力。
1.定义英雄类
public class hero{
//定义属性
//定义名字
public String name;
//定义攻击力
public int damage;
//定义血量
public int health;
//定义方法,普通攻击另一英雄“A”
public void attack(hero A){
A.health = A.health - damage;
System.out.println(name+"对"+A.name+"造成了"+damage+"点伤害,"+A.name+"剩余"+A.health+"血量");
}
2.主方法
public class Mainer{
public static void main(String [] args){
//创建对象潮汐海灵(cxhl)
hero cxhl = new hero ();
//名字
cxhl.name = "潮汐海灵";
//攻击力
cxhl.damage = 60;
//血量
cxhl.health = 600;
//创建对象疾风剑豪(jfjh)
hero jfjh = new hero ();
jfjh.name = "疾风剑豪";
jfjh.damage = 70;
jfjh.health = 550;
//实现场景双方各自攻击对方一下
cxhl.attack(jfjh);
jfjh.attack(cxhl);