JAVAにおけるfinalキーワードの役割
5031 ワード
一、finalキーワードの機能概要
finalキーワードは、参照、メソッド、クラスを修飾するために使用できます.
1、引用を修飾する参照が基本データ型である場合、参照は定数であり、値は変更できません. 参照がオブジェクト、配列などの参照データ型である場合、オブジェクト、配列自体は変更できますが、オブジェクトまたは配列のアドレスへの参照は変更できません. 参照時のクラスのメンバー変数の場合は、その場で値を割り当てる必要があります.そうしないと、コンパイルはエラーを報告します.
例は次のとおりです.
2.方法を修飾するために使用されます
final修飾法を用いると,この方法は最終的な方法となり,クラスに書き換えられない.しかし、この方法は依然として継承することができる.
3.クラスの修飾に使用
finalでクラスを変更すると、そのクラスは最終クラスとなり、継承できません.略称は「断子絶孫類」.
たとえばよく使われるStringクラスが最終クラスです.
finalキーワードは、参照、メソッド、クラスを修飾するために使用できます.
1、引用を修飾する
例は次のとおりです.
final class Person {
String name ="zs";
//3.
//final int age;
final int age = 10;
}
public class Demo01 {
public static void main(String[] args) {
//1. ,
final int i = 9;
//i = 10;
//2. ,
Person p = new Person();
p.name = "lisi";
final int[] arr = {1,2,3,45};
arr[3] = 999;
//arr = new int[]{1,4,56,78};
}
}
2.方法を修飾するために使用されます
final修飾法を用いると,この方法は最終的な方法となり,クラスに書き換えられない.しかし、この方法は依然として継承することができる.
class Person {
public final void say() {
System.out.println(" ....");
}
public void eat() {
System.out.println(" ...");
}
}
class Teacher extends Person {
//1. final ,
/*@Override
public void say() {
System.out.println(" ...");
}*/
public void eat() {
System.out.println(" ...");
}
}
public class Demo02 {
public static void main(String[] args) {
Teacher t = new Teacher();
t.say();
}
}
3.クラスの修飾に使用
finalでクラスを変更すると、そのクラスは最終クラスとなり、継承できません.略称は「断子絶孫類」.
/***
* final 3: , ,
* @author Administrator
*
*/
final class Person02 { }
//class Teacher02 extends Person02 { }
//class MyString extends String{}
public class Demo03 {
}
たとえばよく使われるStringクラスが最終クラスです.