Java知识系统回顾整理01基础02面向对象03方法
Posted xlfcjx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java知识系统回顾整理01基础02面向对象03方法相关的知识,希望对你有一定的参考价值。
一、根据实例给出"方法"的定义
在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 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; //血量 ????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); ????} } |
? ?
? ?
个人练习答案:
以上是关于Java知识系统回顾整理01基础02面向对象03方法的主要内容,如果未能解决你的问题,请参考以下文章