一、根据实例给出"方法"的定义

在LOL中,一个英雄可以做很多事情,比如超神,超鬼,坑队友

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

比如队友残血正在逃跑,你过去把路给别人挡住了,导致他被杀掉。 这就是坑队友

每个英雄。。。。都可以

所以为Hero这个类,设计一个方法: keng

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; //移动速度

//方法:坑队友

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表示本次恢复的血量,无返回类型

官方答案:

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);

}

}

个人整理答案:

最新文章

  1. Google Material Design的图标字体使用教程
  2. Git分支学习简记
  3. TI CC2541增加一个可读写, 又可以Notify的特征字
  4. P147、面试题26:复杂链表的复制
  5. 【Apache Kafka】安装指南
  6. R统计软件真有意思哈,以后我怕要用得着,先自学
  7. JS面向对象编程之:封装、继承、多态
  8. Net Core- 配置组件
  9. 基于 WebSocket 构建跨浏览器的实时应用
  10. svg都快忘了,复习一下
  11. IPv6启动五年后,距离我们究竟还有多远?
  12. 玩转INotifyPropertyChanged和ObservableCollection
  13. HBase源代码分析之HRegion上MemStore的flsuh流程(一)
  14. github page 配置hexo 博客 的常见错误
  15. Spring Cloud微服务中网关服务是如何实现的?(Zuul篇)
  16. 【LOJ6284】数列分块8
  17. js中获取时间new date()的用法和获取时间戳
  18. [z]oracle 创建job
  19. webservice安全性浅谈
  20. SharePoint 2010/2013: List view Lookup threshold uncovered

热门文章

  1. java开发,入职半年,对未来迷茫,如何发展?
  2. CRMEB小程序商城首页强制在微信中打开解决办法
  3. 前端防止xxs注入
  4. 深入了解Netty【五】线程模型
  5. 搭建好lnmp后,使用浏览器访问,出现404 Not Found
  6. Prometheus监控神器-服务发现篇(二)
  7. python3之range()
  8. 20190923-04Linux用户管理命令 000 012
  9. 原生JDK网络编程BIO
  10. 单元测试unittest(基于数据驱动的框架:unittest+HTMLTestRunner/BeautifulReport+yaml+ddt)