Javaのオブジェクト指向のキーワードを使用して19ファイナル

/ *

  • キーワード決勝を使用します
  • Javaクラスで宣言され、変数やメソッドは、キーワード、最終的に使用して変更することができる、と述べた「究極の。」
  • 文字列、システム、StringBufferの:例えば、継承することができない、最終的なクラスを変更するために使用される1、。
  • 図2に示すように、例えば、書き換えができない最後の方法を変更するために使用される場合、クラスオブジェクトのgetClass()。
  • これは一定であることを示す、最終的な変数を変更するために使用される、値を変更することはできません3、
  • 修飾された変数の最終的な特性は、割り当て位置明示的な初期化、コードブロックの割り当て、割り当てコンストラクタを考える3.1。
  • コンストラクタオブジェクトが作成されてロードした後、定数はオブジェクトを使用して、割り当てる必要があります。方法のこの時間は、定数に割り当てることはできません。
  • 異なる定数オブジェクト場合、コンストラクタ割り当て、同一のコードブロックの割り当てまたは明示的な初期化中に割り当てます。
  • 3.2最終の変性ブロック変数は、パラメータを表すパラメータ最終的な変形が一定である場合は特に、ローカルです。代入したら、
  • 唯一の生体内で呼び出すことができます。このパラメータは、変更または再割り当てすることはできません。
  • 図4に示すように、最終的な静的と組み合わせて使用​​することができ、最終静的プロパティおよびメソッドは、負荷および負荷としてクラスを変更できないことを示す、修飾されてもよいです。
  • また、グローバル定数として知られているプロパティの静的最終的な変形は、インターフェースは、静的最終属性が変更されています。
    * /
package object_chapter2;

public class Object_Final {
    static final int number = 10;
 //   final int up;//常量无法默认初始化,必须赋值
    final int up = 0;
    final int left;
    final int right;
  
    {
    	left = 20;//可以在代码块中对常量赋值;
    }
    
    public Object_Final() {
    	right = 20;//构造器中可以对常量赋值
    }
    
    public Object_Final(int n) {
    	right = n;//所有重载的构造器中都要对常量赋值,避免没有赋值的情况出现
    	
    }
	
	public static void main(String[] args) {
		//number = 20;//final修饰的属性为常量无法修改
		System.out.println(number + 10);//常量只能调用
		final boolean b = true;				
		final double PI = 3.1415;//final可以修饰局部变量
		//System.out.println(PI++);//无法修改
		System.out.println(2 * PI);//可以被调用
		System.out.println(!b);
		final Final f = new Final();
//		f = null;//final修饰的对象无法修改
//		f = new Final();
		System.out.println(f.num);
		f.num = 22;
		System.out.println(f.num);//final修饰的对象属性可以修改
		
	}
	public final void say() {
		System.out.println("Hello");
	}
		
}

final class Final extends Object_Final{
	int num = 11;
//	public void say() {//final修饰的方法无法被子类重写
//		
//	}
	
}

//class FinalA extends Final{//final 修饰的类无法被继承
//	
//}
公開された47元の記事 ウォンの賞賛1 ビュー1051

おすすめ

転載: blog.csdn.net/wisdomcodeinside/article/details/104352780