本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频
![]() 5分30秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器 示例 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("坑队友!"); } }
有的方法是有返回类型的
比如方法: 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;
}
}
为英雄类Hero设计几个新的方法:
1. 超神 legendary(),无参数,无返回类型 2. 获取当前的血量 getHp(), 无参数,有float类型的返回值 3. 回血 recovery(float blood), 有参数 float类型参数 blood表示本次恢复的血量,无返回类型
在查看答案前,尽量先自己完成,碰到问题再来查看答案,收获会更多
本视频是解读性视频,所以希望您已经看过了本答案的内容,带着疑问来观看,这样收获才多。 不建议一开始就观看视频
![]() 2分15秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器。 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项)。 chrome 的 视频下载插件会影响播放,如 IDM 等,请关闭或者切换其他浏览器 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公众号,关注后实时获知最新的教程和优惠活动,谢谢。
![]()
问答区域
2022-04-22
moveSpeed=moveSpeed+speed;
3 个答案
AZX6669 跳转到问题位置 答案时间:2022-07-30 package lei;
public class Hero {
String name;
float hp;
float armor;
int movespeed;
int k;
int d;
int a;
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;
}
//3. 回血 recovery(float blood), 有参数 float类型参数 blood表示本次恢复的血量,无返回类型
void recovery(float blood) {
blood=blood+blood;
}
public static void main(String [] args) {
Hero garen=new Hero();
garen.name="盖伦";
garen.hp=311.4f;
garen.armor=444.2f;
garen.movespeed=444;
garen.addspeed(100);
garen.k=1;
garen.d=19;
garen.a=0;
Hero teemo=new Hero();
teemo.name="提莫";
teemo.hp=220f;
teemo.armor=440f;
teemo.movespeed=500;
teemo.k=19;
teemo.d=1;
teemo.a=0;
}
}
Lussby 跳转到问题位置 答案时间:2022-05-02 就是说你在调用这个方法的时候要在括号里传入一个值,这个方法通过运算后才能给你返回增加后的移动速度值,上面大哥说的形参就是你要传入的参数。
西封图南 跳转到问题位置 答案时间:2022-04-23 void addSpeed(int speed)
//这个括号里的speed是形参,下面的speed的实际值是在调用方法的时候,通过形参传递的
{//在原来的基础上增加了移动速度
moveSpeed=moveSpeed+speed;
}
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2022-02-24
对garen.recovery(100)不理解
8 个答案
grapecc 跳转到问题位置 答案时间:2022-08-12 就是一个是对象里的属性,另一个是调用对象所拥有的方法。比如猫毛色 和猫进行染色
张遥23 跳转到问题位置 答案时间:2022-07-07
public class Hero {
// 送了多少次
// 杀人次数
// 助攻次数
// 金钱
// 补刀数
// 攻击速度
// 杀人后说的话
// 被杀后说的话
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
int deathTime; //死亡次数
int killTime; //杀人次数
int assistsTime;//助攻次数
int money;// 金钱
int buDao;// 补刀数
int gongSu;// 攻击速度
String shaRenYuYin;// 杀人后说的话
String beiShaYuYin;// 被杀后说的话
void keng(){
System.out.println("坑队友");//没有返回值的方法把返回类型设置成Void,表示该方法不返回任何值
}
public float getArmor() { //该方法是需要有返回值的,设置好返回值得类型
return armor;
}
public String getName() {
return name;
}
public void addMobeSpeed(int speed){
moveSpeed=moveSpeed+speed; //在原来的基础上增加移动速度
}
void legendary(){
// 超神
}
public float getHp() {
return hp; // 获取当前的血量
}
void recovery(float blood){
hp=hp+blood; //回血
}
public static void main(String[] args) {
Hero Gailun = new Hero();
Gailun.name = "盖伦";
Gailun.hp = 3000;
Gailun.armor = 300;
Gailun.moveSpeed= 575;
Gailun.shaRenYuYin = "勇往直前";
Gailun.beiShaYuYin = "人在塔在";
Gailun.recovery(500);
System.out.println(Gailun.hp);
}
}
w011daidan 跳转到问题位置 答案时间:2022-05-11 芬达味橘猫 跳转到问题位置 答案时间:2022-04-24 public class Hero3 {
String name;
float hp;
float armor;
int moveSpeed;
void legendary(){
System.out.println("超神");
}
//定义getHp
float getHp(){
float ghp = hp;
System.out.println(ghp);
return ghp;
}
//形参+HP
void recovery(float blood){
float rhp = blood + hp;
System.out.println(rhp);
}
public static void main(String args[]){
Hero3 tomas = new Hero3();
tomas.name = "tomas";
tomas.hp=300f;
tomas.legendary();
//获取HP
tomas.getHp();
//增加HP
tomas.recovery(50.555f);
}
}
fdafd 跳转到问题位置 答案时间:2022-04-12 package pack;
public class sds {
public static void main(String[] args) {
Item item1=new Item("牛逼",100,80,60);
item1.legendary();
}
}
class Item{
String name;
float hp;
float armor;
int moveSpeed;
public Item(String name,float hp,float armor,int moveSpeed){
this.name=name;
this.hp=hp;
this.armor=armor;
this.moveSpeed=moveSpeed;
}
public void legendary(){
System.out.println("超神");
}
public float getHp(){
return this.hp;
}
public void recovery(float blood){
hp=hp+blood;
}
}
曾经沧海 跳转到问题位置 答案时间:2022-03-23 void addLegenday()
{
System.out.println("超神");
}
float getHp()
{
return hp;
}
void recovery(float blood)
{
hp=hp+blood;
}
1weN 跳转到问题位置 答案时间:2022-03-18 兄弟建议你从头开始耐心看看,你完全是懵的,这个garen,recovery(100)是实例对象调用回血这个方法,而 float recovery = 100则是给回血这个float类型的变量赋初始值为100。。。
小盈不快乐 跳转到问题位置 答案时间:2022-02-28 garen.recovery(100)是调用了叫做recovery的方法
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2022-01-13
方法返回类型怎么理解,
2022-01-06
问题
2021-12-27
第三个回血的返回值,hp是float类型,blood也是float类型,为什么返回值不是float呢,而是void
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 90 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|