本视频是解读性视频,所以希望您已经看过了本知识点的内容,并且编写了相应的代码之后,带着疑问来观看,这样收获才多。 不建议一开始就观看视频
8分28秒 本视频采用html5方式播放,如无法正常播放,请将浏览器升级至最新版本,推荐火狐,chrome,360浏览器 如果装有迅雷,播放视频呈现直接下载状态,请调整 迅雷系统设置-基本设置-启动-监视全部浏览器 (去掉这个选项) 示例 1 : final修饰类 示例 2 : final修饰方法 示例 3 : final修饰基本类型变量 示例 4 : final修饰引用 示例 5 : 常量 示例 6 : 练习-final 示例 7 : 答案-final
当Hero被修饰成final的时候,表示Hero不能够被继承
其子类会出现编译错误 package charactor;
public final class Hero extends Object {
String name; //姓名
float hp; //血量
}
package charactor; public final class Hero extends Object { String name; //姓名 float hp; //血量 }
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();
}
}
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;
hp = 6;
}
}
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; hp = 6; } }
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();
h.hp = 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类。 能否继承?
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|