高手勿喷~
final关键字可用于修饰类、变量和方法,它有“这是无法改变的”或者“最终”的含义,因此被final修饰的类、变量和方法将具有以下特征:
1.final修饰的类不能被继承。实例1
2.final修饰的方法不能被子类重写。实例2
3.fianl修饰的变量(成员变量和局部变量)是常量,只能被赋值一次。实例3
4.fianl修饰成员变量的时候,一定要在定义变量的同时赋予一个初始化值。实例4
实例1
final class A{//使用final关键字修饰A类 } class B extends A{//B类继承A类 } class Demo1 { public static void main(String[] args) { B b = new B();//创建B类的实例对象 } }运行结果:
实例2
class A{//定义A类 public final void shout(){}//使用final关键字修饰shout()方法 } class B extends A{//B类继承A类 public void shout(){}//重写A类的shout()方法 } class Demo1 { public static void main(String[] args) { B b = new B();//创建B类的实例对象 } }运行结果:
实例3
class Demo1 { public static void main(String[] args) { final int x = 10 ;//第一次可以赋值 x=5; //再次赋值会报错 } }运行结果:
实例4
class A{//定义A类 final String name ;//使用final关键字修饰name属性 public void introduce(){//定义introduce()方法,打印name System.out.println("name = "+name); } } class Demo1 { public static void main(String[] args) { A a = new A();//创建A类的实例对象 a.introduce();//调用A类的introduce()方法 } }运行结果:
给成员变量赋值的话就不会报错。
class A{//定义A类 final String name = "江海豪";//使用final关键字修饰name属性 public void introduce(){//定义introduce()方法,打印name System.out.println("name = "+name); } } class Demo1 { public static void main(String[] args) { A a = new A();//创建A类的实例对象 a.introduce();//调用A类的introduce()方法 } }运行结果:
交流学习企鹅:654249738
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/thescript_j/article/details/49054779