又是敲代码的一天!今天来复习之前学的类与对象的基础。
类与对象概念和语法
概念
放到生活中来讲,对象就是一个一个的具体事物,就像现在你手上的电脑或者手机,这就是一个对象,而类就是具有同一特征的事物总和,就像我只说电脑,那这个世界上所有的电脑就是一个类。
放到Java中来的话,其实是一个意思,一个类就是事物的总和,而对象就是类中的事物,也就是类的具体实现。
语法实现
类的语法
类的创建
关键字: class 类的标识词
格式: 访问修饰符 class 类名{ }
属性定义
格式: 访问修饰符 属性类型 属性名=属性初始值;
P.S.常见属性定义:int. float. double. *String*. char ......
方法定义
格式:访问修饰符 返回值类型 方法名(参数类型 参数名) { 方法体 }
无参数 无返回值的方法 :
public void 方法名(){ }
有参数 有返回值的方法 :
public int 方法名(int count){ return i/10; }
对象的语法
对象的定义(实例化)
关键字: new
格式: 访问修饰符 对象的类(类名) 对象名 = new 类名();
注意
1.Java中区分大小写,像上面的String就是大写。
2.对象的定义在主方法中进行!(本人的惨痛经历告诫我们一定要注意这个!)
神奇的实例操练
作为一个追求和平的伢子,我写了一个貂蝉PK鲁班的程序
从网上扒了他俩的大招名字,感觉都十分的酷炫啊,于是我决定让他们只用大招打,而且只用一招,看谁能干过谁!(好吧,其实就是太辣鸡了,只能写的出一个技能对打的方式【手动狗头】)
话不多说,代码贴上来!
首先是貂蝉的
public class DiaoChan {
// 属性
String name;
int hp;//定义血量
int ad;//定义攻击力
int ap;//定义buff
// 绽·风华法术 210(+50%法术加成)点法术伤害
public void zFHFS(LuBan lb) {
int ackH = (int) (210 + 0.5 *ap) ;//括号为一个强制转换,使后面的数据转变为int,即整型
lb.hp-=ackH;//鲁班的血量降低攻击力的数值
System.out.println(name+"攻击了"+lb.name+"使其失去了"+ackH+"点HP");//输出结果
}```
然后是鲁班的...
```java
public class LuBan {
// 属性
String name;
int hp;
int ad;
int ap;
//空中支援(大招) 500(+75%物理加成)点物理伤害
public void kZZY(DiaoChan dc) {
int ackH = (int) (500+0.75*ad);// 强制转型
dc.hp-=ackH;
System.out.println(name+"攻击了"+dc.name+"使其失去了"+ackH+"点HP,其还剩下"+dc.hp+"点。");
}
}
然后让他们对打!
public class Manage {
public static void main(String[] args) {
//创建pk双方的对象
DiaoChan dc = new DiaoChan();
dc.name="小海的貂蝉";
dc.ad=150;
dc.ap=700;
dc.hp=5500;
LuBan lb = new LuBan();
lb.name="小天的鲁班";
lb.ad=350;
lb.ap=0;
lb.hp=5500;
// 循环 pk
while(lb.hp>0 && dc.hp>0) {
lb.kZZY(dc);
if (dc.hp>0) {
dc.zFHFS(lb);
}
}
//判断输赢
if (lb.hp>0) {
System.out.println(lb.name+"WIN!!!");
// 第三个类的对象 与其PK
}else {
System.out.println(dc.name+"WIN!!!");
}
}
}
本来我应该展示一下成果的,但是现实总是这么残酷,结果再度成为了一串乱码(凄凉ing)
大概是这样的:
小天的鲁班攻击了小海的貂蝉,使其失去了…点HP
小海的貂蝉攻击了小天的鲁班,使其失去了…点HP
小天的鲁班攻击了小海的貂蝉,使其失去了…点HP
小海的貂蝉攻击了小天的鲁班,使其失去了…点HP
…
小天的鲁班WIN!!!
原谅我太懒了,不想再调试了😢
今天又是美好的一天!