Java知识系统回顾整理01基础02面向对象03方法

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

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

    }

}

   

   

个人练习答案:

猜你喜欢

转载自www.cnblogs.com/xlfcjx/p/10764275.html
今日推荐