一、根据实例给出"方法"的定义
在LOL中,一个英雄可以做很多事情,比如超神,超鬼,坑队友?
能做什么在类里面就叫做方法
?
?
比如队友残血正在逃跑,你过去把路给别人挡住了,导致他被杀掉。 这就是坑队友
每个英雄。。。。都可以坑
所以为Hero这个类,设计一个方法: keng
?
?
public class Hero { ????String name; //姓名 ????//方法:坑队友 ????void keng(){ ????????System.out.println("坑队友!"); ????} } |
?
?
二、方法返回类型
有的方法是有返回类型的
比如方法:
float getArmor(){ ??return armor; } |
上面这个方法是用来获取一个英雄有多少护甲的,返回类型是float
?
?
有的方法不需要返回值,这个时候就把返回类型设置为void,表示该方法不返回任何值。比如方法 "坑队友"
void keng(){?? System.out.println("坑队友!"); } |
?
?
public class Hero { ????String name; //姓名 ????//方法:坑队友 ????void keng(){ ????????System.out.println("坑队友!"); ????} } |
?
?
三、方法的参数
英雄在一些特定情况下,可以增加移动速度
这样我们就通过addSpeed这个方法增加移动速度
void addSpeed(int speed){ ??//在原来的基础上增加移动速度 ??moveSpeed = moveSpeed + speed; } |
?
?
int speed 叫做方法的参数
给盖伦增加100的移动速度:
Hero garen =??new Hero(); garen.name = "盖伦"; garen.moveSpeed = 350; garen.addSpeed(100); |
?
?
public class Hero { ????String name; //姓名 ????//坑队友 ????void keng(){ ????????System.out.println("坑队友!"); ????} ? ????//获取护甲值 ????float getArmor(){ ????????return armor; ????} ???? ????//增加移动速度 ????void addSpeed(int speed){ ????????//在原来的基础上增加移动速度 ????????moveSpeed = moveSpeed + speed; ????} ???? ? ????public static ???????? Hero garen =??new Hero(); ???????? garen.name = "盖伦"; ???????? garen.moveSpeed = 350; ???????? ????} } |
?
?
四、方法的命名
方法是一个类的动作行为,所以一般都是以动词开头的,比如?keng ...?
如果有多个单词,后面的每个单词的第一个字母使用大写?
比如 addSpeed
public class Hero { ????String name; //姓名 ????float hp; //血量 ????int moveSpeed; //移动速度 ????//坑队友 ????void keng(){ ????????System.out.println("坑队友!"); ????} ? ????//获取护甲值 ????float getArmor(){ ????????return armor; ????} ? ????//增加移动速度 ????void addSpeed(int speed){ ????????//在原来的基础上增加移动速度 ????????moveSpeed = moveSpeed + speed; ????} } |
?
?
五、练习及答案
题目:
为英雄类Hero设计几个新的方法:
1. 超神?legendary(),无参数,无返回类型
2. 获取当前的血量?getHp(), 无参数,有float类型的返回值
3. 回血?recovery(float blood), 有参数 float类型参数 blood表示本次恢复的血量,无返回类型
?
?
官方答案:
public class Hero { ????String name; //姓名? ????float hp; //血量 float armor; //护甲 ????int moveSpeed; //移动速度 ????//坑队友 void keng(){ ????????System.out.println("坑队友!"); ????} ? ????//获取护甲值 float getArmor(){ ????????return armor; ????} ?????? ????//增加移动速度 void addSpeed(int speed){ ????????//在原来的基础上增加移动速度 ????????moveSpeed = moveSpeed + speed; ????} ?????? ????//超神 ????void legendary(){ ????????System.out.println("超神了!"); ????} ?????? ????//获取当前的血量 ????float getHp(){ ????????return hp; ????} ?????? ????//回血 ????void recovery(float blood){ ????????hp = hp+blood; ????} ???? ????public static ????????Hero garen = new Hero(); ????????garen.name= "盖伦"; ????????garen.hp??= 500; ????????System.out.println(garen.name + " 当前的血量是 " +garen.hp); ????????System.out.println("回血100"); ????????garen.recovery(100); ????????System.out.println("现在的血量是:" + garen.hp); ????} } |
?
?
?
?
个人练习答案:
原文地址:https://www.cnblogs.com/xlfcjx/p/10764275.html