java 接口 final_Java自学-接口与继承 final

Java的修饰符final

final修饰类,方法,基本类型变量,引用的时候分别有不同的意思。

示例 1 : final修饰类

当Hero被修饰成final的时候,表示Hero不能够被继承

其子类会出现编译错误

45e4feb1e290ee131774556eee945393.png

package charactor;

public final class Hero extends Object {

String name; //姓名

float hp; //血量

}

示例 2 : final修饰方法

Hero的useItem方法被修饰成final,那么该方法在ADHero中,不能够被重写

e374fd018a6374a16257232bdeca9f0c.png

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;

}

}

设计一个类SomeString,继承 String类。 能否继承?

答案:

不能继承,因为String类是final修饰的不能被继承。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值