Loading

JAVA_SE基础——42.final修饰符

高手勿喷~

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



posted @ 2015-10-11 22:54  脚本叔叔  阅读(206)  评论(0编辑  收藏  举报