[JAVA #183; 0基础]:11.终结者-final
關于finalkeyword的總結,是非常easy學習和掌握的,大致分為用final修飾的符號常量、類、方法、屬性四部分。而這四部分的內容也是我們必須掌握的,非常有用。在項目中常常來利用finalkeyword來幫忙以完畢我們特定的任務。以下就來看看終于的final:
符號常量
??? 用 final 修飾的變量就稱之為終于變量。也稱之為符號常量。
比如:
?double PI = 3.14;
===>>>? final double PI = 3.14;? //符號常量
Demo
<span style="font-size:18px;"><span style="font-size:18px;">package com.hqg.oop.d37.a3; public class finalTest {public static void main(String[] args) {final double PI = 3.14;//PI = 3.1415926; //符號常量不可中途改變其值。SonDemo1 sd = new SonDemo1();int re = sd.add(10, 20);System.out.println( re );} } class Person{private String name;private final boolean sex ; //終于屬性(僅僅讀屬性)public Person( String name, boolean sex ) {this.name = name;this.sex = sex;} } class DemoA {public final int add( int x, int y ){return x + y;} } class SonDemo1 extends DemoA { } //class Son extends String { // //} final class Father { } //class Son extends Father { // //}</span></span>類
用 final 修飾的類,即為終于類。
特性:
它不可有子類。即: 防繼承的。
比如: 專家提供的 String 類就量個終于類。
方法
用 final 修飾的方法。即為終于方法。
特性:
它不可被重寫。即: 防重寫。
屬性
用final修飾的實例變量就是終于屬性,也成為僅僅讀屬性。
特性:
??1) 它必須由final修飾。
2) 它一旦賦值。則終身不變。(中途不變)
??3) 當聲明終于的實例變量時。若沒有賦值,則在每個構造器中必須對它賦值。
??4) 終于的實例變量沒有設定器。
??5) 終于的實例變量名稱大寫。
Demo?
<span style="font-size:18px;"><span style="font-size:18px;">package com.hqg.oop.d38.a1;public class FinalObjectVarTest {public static void main(String[] args) {Person p1 = new Person("張靈",false, 18);Person p2 = new Person("張靈",false, 18);System.out.println( p1 );System.out.println( p2 );System.out.println( p1.equals(p2) );//p1.SEX = true;} }class Person {//實例變量private String name;public final boolean SEX; //約定: true為男, false為女private int age;public Person() {int n = (int)(2 * Math.random());this.SEX = n == 1 ;}public Person(String name,int age) {this(); this.name = name;this.age = age;}public Person(String name, boolean sex, int age) {this.name = name;SEX = sex;this.age = age;}public void setName(String name) {this.name = name;}public void setAge(int age) {this.age = age;}//訪問器public String getName() {return name;}public boolean isSEX() {return SEX;}public int getAge() {return age;}//@Overridepublic String toString() {return "姓名: " + name + " 性別: " + (SEX ? "男":"女") + " 年齡: " + age;}@Overridepublic boolean equals(Object obj) {Person pp = (Person)obj;if( this.name.equals( pp.name ) && this.SEX == pp.SEX && this.age == pp.age ){return true;}else{return false;}} } </span></span>業務思想
就像英語中的一句諺語:”Each coin has two sides”(每一個硬幣都有兩面),keywordfinal正如那僅僅硬幣。用final來定義符號常量、類、方法、屬性能夠降低我們非常多工作,容錯率也提高了非常多。
轉載于:https://www.cnblogs.com/gavanwanggw/p/7258903.html
總結
以上是生活随笔為你收集整理的[JAVA #183; 0基础]:11.终结者-final的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Verilog HDL程序设计——基本要
- 下一篇: [Step By Step]SAP Vi