第一篇 JAVA面向对象
面向对象:类和对象、属性、方法
在类和对象中遇到的练习题
设计出物品这种类:
类名:youxi
物品有如下属性:
名字 name 类型是字符串String
价格 price 类型是整型 int
创建(实例化)3件具体物品:
名称 价格
血瓶 50
草鞋 300
长剑 350
package youxi;
import java.util.Scanner;
public class youxi {
String name;//姓名
int price;//价格
public static void main(String[] args) {
youxi a = new youxi();
a.name="血瓶";
a.price=50;
youxi b= new youxi();
b.name="草鞋";
b.price=300;
youxi c= new youxi();
c.name="长剑";
c.price=350;
}
为英雄类youxi设计几个新的方法:
- 超神 legendary(),无参数,无返回类型
- 获取当前的血量 getHp(), 无参数,有float类型的返回值
- 回血 recovery(float blood), 有参数 float类型参数 blood表示本次恢复的血量,无返回类型
(在上述基础上增加)
package youxi;
import java.util.Scanner;
public class youxi {
String name;//姓名
int price;//价格
float hp; //血量
int moveSpeed; //移动速度
void keng(){
System.out.println("坑队友!");
}
void Speed(int speed){
moveSpeed = moveSpeed + speed; //在原来的基础上增加移动速度
}
void legendary(){
System.out.println("超神了!");
}
float getHp(){
return hp;//获取当前的血量
}
void Blood(float blood){
hp = hp+blood;//回血
}
public static void main(String[] args) {
youxi a = new youxi();
a.name="血瓶";
a.price=50;
youxi b= new youxi();
b.name="草鞋";
b.price=300;
youxi c= new youxi();
c.name="长剑";
c.price=350;
youxi d = new youxi();
d.name= "盖伦";
d.hp = 500;
System.out.println(d.name + " 当前的血量是 " +d.hp);
System.out.println("回血100");
d.Blood(100);
System.out.println("现在的血量是:" + d.hp);
}
}
输出: