​ 1. 继承

在王者荣耀中,武器多种多样,如下图所示:

public classWeapons {

String name;intprice;

}

然后,在我们设计一个具体的武器时,就继承武器类,继承用extends关键字,继承的好处就是,会自动得到父类的非私有属性和方法。比较省事和直观。

比如,我们可以设计一个碎星锤,再添加一个攻击力的属性。

public classSuiXingChui extends Weapons {

​intattackNum;

​public intgetAttackNum() {returnattackNum;

}

​public void setAttackNum(intattackNum) {this.attackNum =attackNum;

}

}

2. 方法重载

我们知道,英雄有的技能是可以进行大规模杀伤的,比如鲁班三技能,只要飘过敌方英雄的头顶,满足条件就可以对范围内的所有英雄造成伤害。

那么问题来了,对几名英雄造成伤害呢?

可能是一个,也可能是两个。

我们可以设计两个攻击的方法。

public voidattack(Hero hero){

System.out.println(this.name + "对" + hero.getName() + "进行了1次攻击!");

}

​public voidattack(Hero hero1,Hero hero2){

System.out.println(this.name + "对" + hero1.getName() + "和" + hero2.getName() + "进行了1次攻击!");

}

像这种,参数类型或者个数不同的,就称为方法重载。

但是这样写起来有点累赘,我们可以用变长参数来简化代码:

public voidattack(Hero... heros){

​for(Hero hero : heros){

System.out.println(this.name + "对" + hero.getName() + "进行了1次攻击!");

}

}

3. 构造方法

我们回忆一下,之前我们创建鲁班对象的时候,是不是先把英雄给new出来,然后再一个一个set属性的呢?

很明显,这样有点麻烦,像一些必要的属性,最好是在new的时候就给他初始化完毕。

我们可以用构造方法来完成这一任务。

publicHero(String name){this.name =name;

}

方法名和类名一样(包括大小写)

没有返回类型

实例化一个对象的时候,必然调用构造方法,在你new的瞬间,就会自动调用这个方法。

当你写了带参数的构造方法,就没有办法直接用无参的构造方法了,除非你再去手动地定义一下。

publicHero(){

}

调用情况:

Hero luban = new Hero("鲁班七号");

Hero llw= newHero();

llw.setName("兰陵王");

Hero blsy= newHero();

blsy.setName("百里守约");

luban.attack(llw,blsy);

王者荣耀用java_王者荣耀版Java教程第五期:Java类与对象(1)相关推荐

  1. java开发可重用代码包工具包_[Java教程]彻底搞懂Java开发工具包(JDK)安装及环境变量配置...

    [Java教程]彻底搞懂Java开发工具包(JDK)安装及环境变量配置 0 2021-01-04 04:00:04 安装并配置JDK环境变量,不但要知道怎样做,也要知道为什么这样做,知其然知其所以然. ...

  2. java 作业 老师与教员信息 类与对象

    java 作业 老师与教员信息 类与对象 需求 逻辑图 学生类 public class Student {int age; // 年龄String className; // 班级名称String ...

  3. java servlet类_[Java教程]与Servlet相关的类

    [Java教程]与Servlet相关的类 0 2017-08-31 17:00:15 有4个有关的类,通过servlet可以获得其中的三个,然后通过ServletConfig间接获取ServletCo ...

  4. java编写流星_[Java教程]【原创】java 流星划过天空

    [Java教程][原创]java 流星划过天空 0 2015-10-29 10:00:06 1 import java.awt.Color; 2 import java.awt.Graphics; 3 ...

  5. Java基础语法(七)——类和对象

    文章目录 Java基础语法(七)--类和对象 一.类和对象的初步认识 二. 类和类的实例化 1.类的定义 2.实例化对象 3.如何使用类中的数据 三. 类的成员 1. 字段/属性/成员变量 (1)实例 ...

  6. java打字游戏和解析_java类与对象案例之打字游戏

    类与对象案例-童年回忆之打字游戏 一.玩家类 二.等级类 三.游戏类 四.等级地图 五.测试类 这次要做的案例是一个打字游戏的案例,相信大家小时候都玩过金山打字通的警察抓小偷和飞机大战,这次的案例是类 ...

  7. java教程系列二:Java JDK,JRE和JVM分别是什么?

    多情只有春庭月,犹为离人照落花. 概述 本章主要了解JDK,JRE和JVM之间的区别.JVM是如何工作的?什么是类加载器,解释器和JIT编译器.还有一些面试问题. Java程序执行过程 在深入了解Ja ...

  8. Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

    本文介绍了Java中的四种I/O模型,同步阻塞,同步非阻塞,多路复用,异步阻塞.同时将NIO和BIO进行了对比,并详细分析了基于NIO的Reactor模式,包括经典单线程模型以及多线程模式和多Reac ...

  9. JAVA教程 第六讲 Java的线程和Java Applet(二)

    6.3 Java Applet 前面的章节我们阐述了Application的应用,这一讲我们将介绍java的另一类应用java Applet,即java小应用程序. 在Java问世的头几年里,之所以如 ...

最新文章

  1. [vb+mo] visual baisc 6.0 基于mapobjects 2.4 开发的数字化校园电子地图
  2. REDIS的几个测试结果
  3. linux下安装libsvm_Linux下libsvm的安装及简单练习
  4. join left 大数据_Java并发编程笔记-JDK内置并行执行框架Fork/Join
  5. python学习之- 内置函数
  6. 自定义UITableViewCell需注意的问题
  7. 分布式与人工智能课程(part14)--深度学习
  8. Nginx记录客户端POST过来的具体信息
  9. 授人以鱼不如授人以渔,UCHome全面大解析培训【第二集】
  10. 空格在Html中的表示方法(nbsp含义)
  11. 大学生创新项目管理系统
  12. 如何合并apk和odex文件
  13. ftp中转服务器,bat实现的ftp中转
  14. 单片机|CC2530实验入门
  15. win10计算机休眠快捷键,键盘快捷键关闭或休眠Windows 10 | MOS86
  16. 测试linux服务器的网速慢,测试linux服务器的上传下载速度的方法
  17. Linux学习:四层负载均衡详解
  18. 量子计算最新进展:量子芯片将可利用现有硅工艺制造
  19. MapReduce之幺半群
  20. 跳马周游c++_汉诺塔,n皇后,跳马问题汇总

热门文章

  1. 使用Postman测试接口时记录token方便使用
  2. 论文阅读-TNNLS2021-Elastic Knowledge Distillation by Learning from Recollection
  3. 吴恩达——成本函数公式
  4. To butter up someone 拍马屁
  5. 未来计算机幻想作文,想象未来的机器人作文(精选5篇)
  6. 记: 对于SCPI指令以及相同类型指令解析器的指令压缩方式
  7. Python—time模块
  8. 【51nod】【堆】小明和他的朋友们
  9. 机器学习-推荐系统-itemCF算法
  10. QC协议+华为FCP+三星AFC快充取电5V9V12V15V20V芯片PDX06应用以及拆解正点原子的T65 USB电烙铁PD部分