java关键字:fianl的一些简单的用法

java关键字:fianl的一些简单的用法

引入的一个场景是:

有时候子类会去重写父类的方法方法,但是有时候不希望子类重写父类的方法

这个时候java 提供了一个关键字fianl来修饰

那么

子类中的方法不能重写被final修饰的方法

class Father{


public final void show(){


System.out.println(“不能修改hello java”);


}

}

class Son extends Father{


//编译报错:


//Son中的show()无法覆盖Father中的show()


//被覆盖的方法为final


public void show(){


System.out.println(“我修改了hello java文件”);


}

}

class Test{


public static void main(String[] args){


Son s = new Son();


s.show();


}

}

final关键字:

意思是最终的

它可以修饰类、方法、变量

final修饰:


A:类  这个类不能别其他类继承


B:方法
这个方法不能被子类重写


C:变量



a:类型为基本数据类   这个变量就称为了常量,常量一旦被赋值就不能再次赋值了,不然就报错了


常量:字面常量  “kevin” “cidy”,10,12等


 自定义常量:fianl String num = “001”;



b:类型为引用数据类型的时候   地址值不会改变,但是堆内存中的值可以进行修改


比如:


class Student{


int age =10;


}





class StuTest{


public static void main(String[] args){


Student s = new Student();


System.out.println(s.age)://输出结果为:10;





final Student s2 = new Student();


s2.age=100;


System.out.println(s2.age);//输出结果为100;


}


}


在修饰变量(数据类型为基本数据类型的时候)


如果这个变量被赋了初始值,那么这个变量就不能在被赋值,不然会报错。





public class Test3{


public static void main(String[] args){


final int a =12;


System.out.println(“a = “+a);





//错误: 无法为最终变量a分配值


a = 21;


System.out.println(“a = “+a);


}


}









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100817.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号