Java自学-接口与继承 final
Java的修饰符final
final修饰类,方法,基本类型变量,引用的时候分别有不同的意思。
示例 1 : final修饰类
当Hero被修饰成final的时候,表示Hero不能够被继承
其子类会出现编译错误

package charactor;
public final class Hero extends Object {
String name; //姓名
float hp; //血量
}
示例 2 : final修饰方法
Hero的useItem方法被修饰成final,那么该方法在ADHero中,不能够被重写

package charactor;
import property.Item;
public class Hero extends Object {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
public final void useItem(Item i){
System.out.println("hero use item");
i.effect();
}
public Hero(){
System.out.println("Hero的无参的构造方法 ");
}
public Hero(String name){
System.out.println("Hero的有一个参数的构造方法 ");
this.name = name;
}
public static void main(String[] args) {
new Hero();
}
}
示例 3 : final修饰基本类型变量
final修饰基本类型变量,表示该变量只有一次赋值机会
16行进行了赋值,17行就不可以再进行赋值了
package charactor;
public class Hero extends Object {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
public static void main(String[] args) {
final int hp;
hp = 5; //16行
hp = 6;
}
}
示例 4 : final修饰引用
final修饰引用
h引用被修饰成final,表示该引用只有1次指向对象的机会
所以17行会出现编译错误
但是,依然通过h引用修改对象的属性值hp,因为hp并没有final修饰
package charactor;
public class Hero extends Object {
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
public static void main(String[] args) {
final Hero h;
h =new Hero();
h =new Hero(); //17行
h.hp = 5;
}
}
示例 5 : 常量
常量指的是可以公开,直接访问,不会变化的值
比如 itemTotalNumber 物品栏的数量是6个
package charactor;
public class Hero extends Object {
public static final int itemTotalNumber = 6;//物品栏的数量
String name; //姓名
float hp; //血量
float armor; //护甲
int moveSpeed; //移动速度
public static void main(String[] args) {
final Hero h;
h =new Hero();
h.hp = 5;
}
}
练习: Java的修饰符final
设计一个类SomeString,继承 String类。 能否继承?
答案:
不能继承,因为String类是final修饰的不能被继承。
Java自学-接口与继承 final的更多相关文章
- Java自学-接口与继承 接口
设计Java的接口 在设计LOL的时候,进攻类英雄有两种,一种是进行物理系攻击,一种是进行魔法系攻击 这时候,就可以使用接口来实现这个效果. 接口就像是一种约定,我们约定某些英雄是物理系英雄,那么他们 ...
- Java自学-接口与继承 抽象类
Java 抽象类 在类中声明一个方法,这个方法没有实现体,是一个"空"方法 这样的方法就叫抽象方法,使用修饰符"abstract" 当一个类有抽象方法的时候,该 ...
- Java自学-接口与继承 内部类
Java 内部类 内部类分为四种: 非静态内部类 静态内部类 匿名类 本地类 步骤 1 : 非静态内部类 非静态内部类 BattleScore "战斗成绩" 非静态内部类可以直接在 ...
- Java自学-接口与继承 对象转型
Java中的对象转型 示例 1 : 明确引用类型与对象类型的概念 首先,明确引用类型与对象类型的概念 在这个例子里,有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的, 是A ...
- Java自学-接口与继承 UML图
UML 图 步骤 1 : UML 图 -- 类之间的关系 UML-Unified Module Language 统一建模语言,可以很方便的用于描述类的属性,方法,以及类和类之间的关系 步骤 2 : ...
- Java自学-接口与继承 默认方法
默认方法 步骤 1 : 什么是默认方法 默认方法是JDK8新特性,指的是接口也可以提供具体方法了,而不像以前,只能提供抽象方法 Mortal 这个接口,增加了一个默认方法 revive,这个方法有实现 ...
- Java自学-接口与继承 Object类
Java中的超类 Object 步骤 1 : Object类是所有类的父类 声明一个类的时候,默认是继承了Object public class Hero extends Object package ...
- Java自学-接口与继承 多态
Java的多态 操作符的多态 +可以作为算数运算,也可以作为字符串连接 类的多态 父类引用指向子类对象 示例 1 : 操作符的多态 同一个操作符在不同情境下,具备不同的作用 如果+号两侧都是整型,那么 ...
- Java自学-接口与继承 重写
Java 重写方法 子类可以继承父类的对象方法 在继承后,重复提供该方法,就叫做方法的重写 又叫覆盖 Override 步骤 1 : 父类Item 父类Item有一个方法,叫做effect packa ...
随机推荐
- Java精通并发-Condition编程模式详解与分析
继续上一次https://www.cnblogs.com/webor2006/p/11890688.html的Condition接口说明进行阅读: 上面这个程序会在之后手动来实现一下,说实话这种写法在 ...
- python笔试题
冒泡排序的原理:每次对相邻的两个元素进行比较,若前者大于后者,这将两者的位置交换.第一轮就可以将最大的元素置于列表的最后.几轮循环 冒泡排序的前提条件:有序的列表 import unittest# 冒 ...
- BZOJ4241:历史研究(回滚莫队)
题意:给定N个数字,Q次询问,询问这个区间的最大加权众数是多少. 加权众数是指出现次数*数字大小.N,Q<1e5. 思路:不难发现可以N*sqrtN*logN的思路做,但是应该过不了. 这个Ns ...
- 01-docker入门-安装docker
注意: ubuntu 安装 docker前提是要替换好 Ubuntu 的安装源. 安装步骤: P1: 正常开始 sudo apt-get update sudo apt-get -y insta ...
- Windows server 2003 粘滞键后门+提权
Windows server 2003中可以建立粘滞键与cmd的连接来绕过已经设置好的安全机制做一些事情,比如新建用户.提权 粘滞键介绍 网上查了一些资料,也没怎么说明白,不如自己试一下,大概意思就是 ...
- ABP JS调用接口 获取返回的数据
var _userService = abp.services.app.user; console.log(abp.services.app.user); _userService.getUserBy ...
- 在Hadoop-3.1.2上安装HBase-2.2.1
目录 目录 1 1. 前言 3 2. 缩略语 3 3. 安装规划 3 3.1. 用户规划 3 3.2. 目录规划 4 4. 相关端口 4 5. 下载安装包 4 6. 修改配置文件 5 6.1. 修改策 ...
- vue之非父子通信
一.非父子通信: 思路: 找个中间存储器,组件一把信息放入其中,组件二去拿 代码如下: let hanfei = new Vue(); # 实列化个空的vue对象,作为中间存储器来时间 ...
- c# Aes加解密
using System; using System.Collections.Generic; using System.IO; using System.Security.Cryptography; ...
- cf1206解题报告
目录 cf1206解题报告 A B C D E,F cf1206解题报告 A 模拟 #include <bits/stdc++.h> using namespace std; int n, ...