how2j.cn


工具版本兼容问题
在LOL中,一个英雄可以做很多事情,比如超神,超鬼,坑队友

能做什么在类里面就叫做方法


本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频



5分30秒
本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)



示例 1 : 什么是方法   
示例 2 : 方法返回类型   
示例 3 : 方法的参数   
示例 4 : 方法的命名   
示例 5 : 练习-方法   
示例 6 : 答案-方法   

比如队友残血正在逃跑,你过去把路给别人挡住了,导致他被杀掉。 这就是坑队友
每个英雄。。。。都可以
所以为Hero这个类,设计一个方法: keng
什么是方法
public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 //坑队友 void keng(){ System.out.println("坑队友!"); } }
public class Hero {
    String name; //姓名
     
    float hp; //血量
     
    float armor; //护甲
     
    int moveSpeed; //移动速度

    //坑队友
    void keng(){
    	System.out.println("坑队友!");
    } 
}
示例 2 :

方法返回类型

edit
有的方法是有返回类型的
比如方法:

float getArmor(){
return armor;
}


这个方法是用来获取一个英雄有多少护甲的,返回类型是float
有的方法不需要返回值,这个时候就把返回类型设置为void,表示该方法不返回任何值
比如方法 "坑队友"

void keng(){
System.out.println("坑队友!");
}
public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 //获取护甲值 float getArmor(){ return armor; } //坑队友 void keng(){ System.out.println("坑队友!"); } }
public class Hero {
    String name; //姓名
     
    float hp; //血量
     
    float armor; //护甲
     
    int moveSpeed; //移动速度

    //获取护甲值
    float getArmor(){
    	return armor;
    }

    //坑队友
    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; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 //坑队友 void keng(){ System.out.println("坑队友!"); } //获取护甲值 float getArmor(){ return armor; } //增加移动速度 void addSpeed(int speed){ //在原来的基础上增加移动速度 moveSpeed = moveSpeed + speed; } public static void main(String[] args) { Hero garen = new Hero(); garen.name = "盖伦"; garen.moveSpeed = 350; garen.addSpeed(100); } }
方法是一个类的动作行为,所以一般都是以动词开头的,比如 keng ...
如果有多个单词,后面的每个单词的第一个字母使用大写
比如 addSpeed
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; } }
示例 5 :

练习-方法

edit Or  姿势不对,事倍功半! 点击查看做练习的正确姿势
为英雄类Hero设计几个新的方法:
1. 超神 legendary(),无参数,无返回类型
2. 获取当前的血量 getHp(), 无参数,有float类型的返回值
3. 回血 recovery(float blood), 有参数 float类型参数 blood表示本次恢复的血量,无返回类型
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
查看本答案会花费3个积分,您目前总共有点积分。查看相同答案不会花费额外积分。 积分增加办法 或者一次性购买JAVA 基础总计0个答案 (总共需要0积分)
账号未激活 账号未激活,功能受限。 请点击激活
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频

2分15秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)


答案-方法
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 void main(String[] args) { 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); } }


HOW2J公众号,关注后实时获知布最新的教程和优惠活动,谢谢。


问答区域    
2019-03-17 交作业
帅SOR



交作业
public class Hero1 {
	String name;
	int Hp;
	void legendary(){
		System.out.println("超神");
	}
	public float getHp() {
		return Hp;
	}
	void recovery(float blood){
		Hp=(int) (Hp+blood);
	}
	public static void main(String[] args) {
		Hero1 q=new Hero1();
		q.name="火女";
		q.Hp=100;
		q.legendary();
		q.recovery(10);
		System.out.println(q);
	}
	@Override
	public String toString() {
		return "Hero1 [name=" + name + ", Hp=" + Hp + "]";
	}
}

							


1 个答案

夕风er哥 答案时间:2019-03-17



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2019-03-09 为什么写了输出的代码,这个Hero程序还是不能运行呢?
艾斯这个小卷毛



无法运行是怎么回事,, public class Hero{ String name; float armor; float hp; int moveSpeed; void keng(){ System.out.println("kengduiyou"); } float getArmor(){ return armor; } void addSpeed(int speed){ moveSpeed=moveSpeed+speed; } public static void main(String[] args){ Hero ice=new Hero(); ice.name="ice"; ice.hp=231.3f; ice.armor=23.7f; ice.moveSpeed=350; System.out.println(ice.hp);//别的都可以不看,看这里鸭,,是输出啊 } }
public class Hero{

String name;
float armor;
float hp;
int moveSpeed;

void keng(){
	System.out.println("kengduiyou");
}
float getArmor(){
	return armor;
}
void addSpeed(int speed){
	moveSpeed=moveSpeed+speed;
}
public static void main(String[] args){
	Hero ice=new Hero();
	ice.name="ice";
	ice.hp=231.3f;
	ice.armor=23.7f;
	ice.moveSpeed=350;
	System.out.println(ice.hp);//别的都可以不看,看这里鸭,,是输出啊
}

}

							


1 个答案

Setihex 答案时间:2019-03-10
IDEA 运行通过



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2019-03-07 交作业
2019-03-03 作业
2019-03-01 交作业。
2019-02-26 怎么将坑队友方法输出
2019-02-26 作业
2019-02-24 提交作业
2019-02-21 交作业
2019-02-16 交作业
2019-02-12 交作业
2019-01-31 交作业
2019-01-31 交作业
2019-01-28 交作业了
2019-01-17 作业
2019-01-16 作业
2019-01-15 交作业:练习-方法
2019-01-08 练一练
2019-01-05 方法getHp return hp 返回的是什么呢?
2019-01-04 作业提交
2019-01-04 作业提交
2019-01-04 作业提交
2018-12-25 完成+问题
2018-12-25 练习:方法
2018-12-25 作业与练习整合
2018-12-25 详细作业
2018-12-25 详细作业
2018-12-13 不是说构造方法的名称必须与类同名吗?现在完全不知道这儿举得例子对不对啊!!!
2018-12-13 为什么增加血量方法 返回用void 而不是float?
2018-12-13 方法为什么不能放在主方法下面?
2018-12-03 交作业
2018-12-03 交作业
2018-12-01 交作业
2018-11-26 交作业
2018-11-23 交作业!
2018-11-23 交作业!
2018-11-21 交作业
2018-11-20 作业
2018-11-08 交作业
2018-11-07 Hero garen = new Hero();
2018-10-30 交作业
2018-10-29 交作业
2018-10-26 作业
2018-10-24 交作业
2018-10-23 交作业
2018-10-22 为什么要返回值
2018-10-14 交作业
2018-10-14 最后一个recovery为何是void而不是float?
2018-10-13 交下作业吧 也不清楚写的如何
2018-10-11 恢复血量没有增加
2018-10-06 交作业啦.getHp这个方法里可以直接打印出拥有的血量Hp吗?
2018-09-25 交作业
2018-09-22 交作业了
2018-09-13 第二次交作业,学习很开心
2018-09-11 交作业
2018-08-22 交作业-2
2018-08-07 jiaozuoye
2018-08-07 提交作业
2018-08-07 交作业来了
2018-08-07 交作业
2018-08-03 交作业来了
2018-08-01 提问,求指教
2018-07-26 交作业
2018-07-26 交作业
2018-07-25 float类型的变量,赋值时候也可以是整数吗?
2018-07-25 交作业
2018-07-25 方法的返回类型
2018-07-20 20180720-练习
2018-07-20 交作业啦
2018-07-19 交作业
2018-07-18 汇报作业
2018-07-18 【学习总结】
2018-07-17 作业
2018-07-16 交作业咯
2018-07-04 答案
2018-07-01 交作业
2018-06-27 交作业
2018-06-11 交作业啦~
2018-05-02 交作业
2018-04-23 代码
2018-04-12 交作业
2018-04-06 交作業
2018-03-28 给类添加方法
2018-03-09 作业-方法
2018-02-24 交作业
2018-02-24 交作业
2018-02-06 作业
2018-01-27 作业
2018-01-11 gethealth后面要加";"吗
2018-01-11 问下为什么在类中也可以有main函数?
2018-01-03 "new Hero(); " 中括号的具体含义是什么?
2018-01-01 我怎么感觉答案在"画蛇添足"?
2017-12-21 交作业
2017-12-05 大佬们能帮我看看吗?我希望我的回血方法里能自动获取我第一次创建对象所赋予的血量,,
2017-12-05 站长能不能帮我看看,我回血的方法,可不可以,能不能修改得更好
2017-11-16 站长。。。Legendary拼错了吧
2017-10-22 有返回的方法,怎样打印出来 能让自己知道是否返回了
2017-10-20 为什么写完代码之后用CMD无法查看