Java自学-类和对象 继承
什么是 Java的 继承 ?
在LOL中,武器是物品的一种,也是有名称和价格的
所以在设计类的时候,可以让武器继承物品,从而继承名称和价格属性
步骤 1 : 物品类Item
物品类Item 有属性 name,price
public class Item {
String name;
int price;
}
步骤 2 : 武器类Weapon(不继承)
武器类: Weapon不继承Item的写法
独立设计 name和price属性
同时多了一个属性 damage 攻击力
public class Weapon{
String name;
int price;
int damage; //攻击力
}
步骤 3 : 武器类Weapon(继承类Item)
这一次Weapon继承Item
虽然Weapon自己没有设计name和price,但是通过继承Item类,也具备了name和price属性
public class Weapon extends Item{
int damage; //攻击力
public static void main(String[] args) {
Weapon infinityEdge = new Weapon();
infinityEdge.damage = 65; //damage属性在类Weapon中新设计的
infinityEdge.name = "无尽之刃";//name属性,是从Item中继承来的,就不需要重复设计了
infinityEdge.price = 3600;
}
}
练习: 护甲
(设计一个类Armor护甲
继承Item类,并且额外提供一个属性ac: 护甲等级 int类型
实例化出两件护甲:
名称 价格 护甲等级
布甲 300 15
锁子甲 500 40)
答案:
public class Armor extends Item{
int ac; //护甲等级
public static void main(String[] args) {
Armor cloth = new Armor();
cloth.name="布甲";
cloth.price=300;
cloth.ac = 15;
Armor chainMail = new Armor();
chainMail.name="锁子甲";
chainMail.price=500;
chainMail.ac = 40;
}
}
Java自学-类和对象 继承的更多相关文章
- java自学-类与对象
1.面向对象和面向过程 java是一种面向对象的程序设计语言,而面向对象思想是一种程序设计思想. 这里的对象泛指现实中一切事物,每种事物都具备自己的属性和行为.面向对象思想就是在计算机程序设计过程中, ...
- Java自学-类和对象 类属性
Java的类属性和对象属性 当一个属性被static修饰的时候,就叫做类属性,又叫做静态属性 当一个属性被声明成类属性,那么所有的对象,都共享一个值 与对象属性对比: 不同对象的 对象属性 的值都可能 ...
- Java自学-类和对象 类方法
Java的类方法和对象方法 类方法: 又叫做静态方法 对象方法: 又叫实例方法,非静态方法 访问一个对象方法,必须建立在有一个对象的前提的基础上 访问类方法,不需要对象的存在,直接就访问 步骤 1 : ...
- Java自学-类和对象 访问修饰符
Java的四种访问修饰符 成员变量有四种修饰符 private 私有的 package/friendly/default 不写 protected 受保护的 public 公共的 比如public 表 ...
- Java自学-类和对象 单例模式
Java的饿汉式与懒汉式单例模式 LOL里有一个怪叫大龙GiantDragon,只有一只,所以该类,只能被实例化一次 步骤 1 : 单例模式 单例模式又叫做 Singleton模式,指的是一个类,在一 ...
- Java自学-类和对象 属性初始化
如何进行Java的属性初始化 步骤 1 : 对象属性初始化 对象属性初始化有3种 声明该属性的时候初始化 构造方法中初始化 初始化块 . public class Hero { public Stri ...
- Java自学-类和对象 传参
Java中的传参 变量有两种类型 基本类型 和类类型 参数也是变量,所以传参分为 基本类型传参 类类型传参 步骤 1 : 基本类型传参 基本类型传参 在方法内,无法修改方法外的基本类型参数 publi ...
- Java自学-类和对象 方法重载
什么是Java 方法重载 方法的重载指的是方法名一样,但是参数类型不一样 步骤 1 : attack方法的重载 有一种英雄,叫做物理攻击英雄 ADHero 为ADHero 提供三种方法 public ...
- Java自学-类和对象 引用
什么是Java中的引用? 引用的概念,如果一个变量的类型是 类类型,而非基本类型,那么该变量又叫做引用. 步骤 1 : 引用和指向 new Hero(); 代表创建了一个Hero对象 但是也仅仅是创建 ...
随机推荐
- [技术博客]Pyqt5实现Widget内部拖拽
Pyqt5实现Widget内部拖拽 在本次项目的beta迭代中,程序需要在需要在QListWidget内实现对于添加后的测试序列,可以通过鼠标拖拽的方式来移动测试序列,方便用户操作. 允许拖拽 ...
- 【Swoole】php7.1安装swoole扩展
参照:https://zixuephp.net/article-430.html 1.源码编译安装,PHP版本7.1.33 2.在已经编译好安装的php7.1中安装swoole扩展. 一.下载swoo ...
- mysql 8.0.18 hash join测试(内外网首文)
CREATE TABLE COLUMNS_hj as select * from information_schema.`COLUMNS`; INSERT INTO COLUMNS_hj SELECT ...
- -[UITableView copyWithZone:]: unrecognized selector sent to instance 0x7XXXXXX00
-[UITableView copyWithZone:]: unrecognized selector sent to instance 0x7XXXXXX00 -[Class copyWithZon ...
- CORS跨域带来的preflight request
CORS跨域带来的preflight request https://blog.csdn.net/baidu_35407267/article/details/79043515 HTTPS://blo ...
- 从支付宝SDK的支付流程理解什么是公钥和私钥,什么是加密和数字签名
------------------- 这是自己总结: 支付宝SDK支付用到的公钥与私钥整理如下: 1.商户应用公钥 2.商户应用私钥 3.支付宝公钥 4.支付宝私钥 商户应用的公钥与私钥生 ...
- ProxyGenerator proxy = new ProxyGenerator(); 代理+拦截器模式
所谓代理,就是不直接访问目标对象,而是由中间对象生成一个目标代理类,由中间代理对象来代理目标对象的方法.Java里面有JDK和CGLIB代理.C#里面则使用Castle代理.nuget引用如下: &l ...
- perl修改镜像源地址
perl修改源地址 这里推荐中科大的源 http://mirrors.ustc.edu.cn/CPAN/ perl -MCPAN -e shell 1.执行cpan命令确认存在该命令 如果cpan执行 ...
- python的传参数用法
#!/usr/bin/python #导入sys模块 import sys print("the first argv:",sys.argv[0],"\n") ...
- 【转帖】Flink 核心技术浅析(整理版)
Flink 核心技术浅析(整理版) https://www.cnblogs.com/swordfall/p/10612404.html 分类: Flink undefined 1. Flink简介 A ...