高手勿喷~
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