关键词:
一、根据实例给出"方法"的定义
在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面向对象01类和对象
一、面向对象实例--设计英雄这个类LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女 所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等这样我们就可以设计一种东西,叫做... 查看详情
java知识系统回顾整理01基础05控制流程03while
while和do-while循环语句一、while:条件为true时重复执行只要while中的表达式成立,就会不断地循环执行 ??publicclassHelloWorld ????publicstatic voidmain(String[]args)??????? ????????//打印0到4???? ????????inti=0; 查看详情
java知识系统回顾整理01基础03变量01变量定义
定义:变量:用来命名一个数据的标识符 ??一、什么是变量?用具体实例定义变量变量的定义是:用来命名一个数据的标识符 1949这是一个数字,代表某年如果要命名这个数字,在java里就会写成:intyear=1949;??int?是数据类型,表... 查看详情
java基础知识回顾
1.面向对象和面向过程的区别面向过程优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。缺点:没有面向对象... 查看详情
java知识系统回顾整理01基础01第一个程序01jdk安装
一、首先第一步看JDK配置成功后的效果点WIN键->运行(或者使用win+r) 输入cmd命令输入java-version?注:?-version是小写,不能使用大写,java后面有一个空格配置成功后,会出现版本信息?javaversion"1.8.0_65" 注:?这是配置完成后的... 查看详情
java知识系统回顾整理01基础04操作符05赋值操作符
一、赋值操作赋值操作的操作顺序是从右到左? inti=5+5;?首先进行5+5的运算,得到结果10,然后把10这个值,赋给ipublicclassHelloWorld ????publicstatic voidmain(String[]args) ????????inti=5+5; ???? ??二、对本身进行运 查看详情
java知识系统回顾整理01基础01第一个程序04创建eclipse项目
一、为Eclipse设置桌面快捷方式图标 ?? ??二、双击桌面快捷方式打开Eclipse ??三、选择工作区使用在命令行HelloWorld中的项目目录e:\\project 除了第一次启动eclipse的时候能够选择工作区之外,还可以在启动之后,通过如下命令... 查看详情
java知识系统回顾整理01基础06数组07数组工具类arrays
一、Arrays简介Arrays是针对数组的工具类,可以进行排序,查找,复制填充等功能。大大提高了开发人员的工作效率。 ??二、Arrays提供的数组复制方法与使用System.arraycopy进行数组复制类似的,Arrays提供了一个copyOfRange方法进行数... 查看详情
java知识系统回顾整理01基础04操作符04位操作符
一、位操作符位操作符在实际工作中用的并不常见,但是我比较纠结这些位操作。所以实际练习位操作符的每一个操作符的操作实例来理解其具体含义。 ??建议:?如果确实感兴趣,就看看,个人建议跳过这个章节。真正工... 查看详情
基础知识回顾——面向对象编程
在进入面向对象编程之前,希望对python常见内建函数做个整理,参考来自官网;常见内建函数chr(number)返回ASCII码为给定数字的字符ord(char)返回给定单字符(长度为1的字符串或者Unicode字符串)的ASCII值all(iterable)如果所有iterable的... 查看详情
java整理01--面向对象基础
一:面向对象与面向过程 笼统说,一个流程简单一个复杂,面向过程好比开车上路,可以简单罗列出几个动作:上车,系安全带,点火,出发;向过程好比造出一辆汽车,肯定不能从焊铁做起,第一步是收集所需要的各个部... 查看详情
面向对象03回顾方法的调用(代码片段)
packagecom.oop.demo01;publicclassDemo02publicstaticvoidmain(String[]args)//实例化这个类new//对象类型对象名=对象值;Studentstudent=newStudent();student.say();//和类一起加载的publicvoida()b();f();//类实例化之后才会存在publicvoidb() 查看详情
基础知识回顾:闭包
转自:Vamei出处:http://www.cnblogs.com/vamei 闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式(而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编... 查看详情
面向对象基础(上)
...ff0c;在Java中“一切都是对象”。本章将介绍面向对象基础知识。面向对象概述面向对象的编程思想:按照真实世界客观事物的自然规律进行分析,客观世界中存在什么样的实体,构建的软件系统就存在什么样的 查看详情
java基础知识总结(超详细整理)(代码片段)
Java语言的特点1.面向对象面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性。面向对象的概念:生活中的一切事物都可以被称之为对象,生活中随处可见的事物就是一个对象,我们可以将这些事物的状态特... 查看详情
java基础知识总结(超详细整理)(代码片段)
Java语言的特点1.面向对象面向对象(OOP)就是Java语言的基础,也是Java语言的重要特性。面向对象的概念:生活中的一切事物都可以被称之为对象,生活中随处可见的事物就是一个对象,我们可以将这些事物的状态特... 查看详情
html基础知识回顾整理
20151008~20151101所学HTML内容回顾整理HTML(标签、div+Css)+JS(js语法,dom,jquery)HTML:HyperTextMankupLanguage超文本标记语言学html,实际就是在学标签都有哪些,怎么用。如何通过标签来控制文本样式。文件后缀:html,htm一、标签:基本标... 查看详情
javase之基础篇——面向对象
...且通过九个经典的问题供大家练习我们之前学的java基础知识,之后在介绍判断两个数组相同案例的时候给大家留了两个问题供大家思考。最后通过思维导图帮助大家回顾整篇文章介绍的相关知识,慢慢地培养读者java的整体架构... 查看详情