Java自学-接口与继承 final
Java的修饰符finalfinal修饰类,方法,基本类型变量,引用的时候分别有不同的意思。 示例 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修饰基本类型变量,表示该变量只有一次赋值机会 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修饰引用 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 : 常量 常量指的是可以公开,直接访问,不会变化的值 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修饰的不能被继承。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |