亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

Java中一些關鍵字的使用技巧總結

2019-11-26 15:00:00
字體:
來源:轉載
供稿:網友

final――

final用于類表示該類不能派生子類。

final用于方法表示該方法不能被子類重寫。

final用于變量時表示常量,類似于C/C++的const關鍵字。

final用于成員變量表示該成員變量為常量,不能被修改,必須在變量定義時賦值。

final用于局部變量表示該局部變量為常量,不能被修改,可以在變量定義時賦值,也可以先定義變量后賦值。

static――

static用于成員變量表示該變量只有一份,也就是說靜態成員變量屬于類而不屬于某個具體的類實例對象,所有的類實例對象共享這個靜態成員變量,訪問靜態成員變量時通過對應的類名完成。靜態成員變量在定義時可初始化賦值,也可不賦值,不賦值時會被自動初始化,切記局部變量不可以是靜態的。

static用于方法,使得不需要實例化類就可以通過類名來調用靜態方法,需要注意的是在靜態方法內不可以使用this關鍵字,不可以調用非靜態方法,也不可以引用非靜態成員變量。

static用于類,這里指的是內部類,那么在別的地方就可以通過外部類名來引用這個靜態的內部類。

static還可以用于類的代碼塊,叫做靜態代碼塊,是在類中獨立于類成員的static語句塊,可以有多個,位置可以隨便放,它不在任何的方法體內,JVM加載類時會執行這些靜態的代碼塊,如果static代碼塊有多個,JVM將按照它們在類中出現的先后順序依次執行它們,每個代碼塊只會被執行一次。

類的訪問權限(Y/N)

|| 關鍵字 || 類 || 包 || 子類 || 其它包 ||
| public | Y | Y | Y | Y |
| protected | Y | Y | Y | N |
| default | Y | Y | N | N |
| private | Y | N | N | N |

public、protected和private三個關鍵字,可以用于類(內部類)、成員變量和成員函數,默認的訪問權限是包內有效,當類訪問權限與成員變量或成員函數的訪問權限不同時,選擇最低訪問權限。

interface/implements/extends/class――

interface用于聲明接口,接口中的方法只有聲明,沒有實現,訪問權限可以是public或者默認權限,還可以指定為abstract。

implements用于實現接口,需要實現接口中的所有方法,可以同時實現多個接口。

extends用于繼承父類或父接口,繼承父類時只能是單繼承,與C++的多繼承不同,接口繼承支持多繼承。

class用于聲明類,訪問權限可以是public或者默認權限,還可以指定為abstract、final,訪問權限對于頂層類和內部類的限制是不同的。


abstract――

abstract用于類表示這個類為抽象類,不能實例化。

abstract用于方法表示這個方法為抽象方法,只需聲明,不用實現,由子類實現,抽象方法不能用private和static關鍵字。

下面來著重講一下this和super的使用:

this
        Java關鍵字this只能用于方法方法體內。當一個對象創建后,Java虛擬機(JVM)就會給這個對象分配一個引用自身的指針,這個指針的名字就是this。因此,this只能在類中的非靜態方法中使用,靜態方法和靜態的代碼塊中絕對不能出現this,這在“Java關鍵字static、final使用總結”一文中給出了明確解釋。并且this只和特定的對象關聯,而不和類關聯,同一個類的不同對象有不同的this。下面給出一個使用this的綜合實例,以便說明問題:
 

package org.leizhimin;public class Test6 { private int number; private String username; private String password; private int x = 100; public Test6(int n) { number = n; // 這個還可以寫為: this.number=n; } public Test6(int i, String username, String password) { // 成員變量和參數同名,成員變量被屏蔽,用"this.成員變量"的方式訪問成員變量. this.username = username; this.password = password; } // 默認不帶參數的構造方法 public Test6() { this(0, "未知", "空"); // 通過this調用另一個構造方法 } public Test6(String name) { this(1, name, "空"); // 通過this調用另一個構造方法 } public static void main(String args[]) { Test6 t1 = new Test6(); Test6 t2 = new Test6("游客"); t1.outinfo(t1); t2.outinfo(t2); } private void outinfo(Test6 t) { System.out.println("-----------"); System.out.println(t.number); System.out.println(t.username); System.out.println(t.password); f(); // 這個可以寫為: this.f(); } private void f() { // 局部變量與成員變量同名,成員變量被屏蔽,用"this.成員變量"的方式訪問成員變量. int x; x = this.x++; System.out.println(x); System.out.println(this.x); }  //返回當前實例的引用 private Test6 getSelf() { return this;  }}

 
運行結果如下:

-----------0未知空100101-----------0游客空100101

 
        看著上面的例子,說明在什么情況下需要用到this:
        第一、通過this調用另一個構造方法,用發是this(參數列表),這個僅僅在類的構造方法中,別的地方不能這么用。
        第二、函數參數或者函數中的局部變量和成員變量同名的情況下,成員變量被屏蔽,此時要訪問成員變量則需要用“this.成員變量名”的方式來引用成員變量。當然,在沒有同名的情況下,可以直接用成員變量的名字,而不用this,用了也不為錯,呵呵。
        第三、在函數中,需要引用該函所屬類的當前對象時候,直接用this。
        其實這些用法總結都是從對“this是指向對象本身的一個指針”這句話的更深入的理解而來的,死記不然容易忘記而且容易搞錯,要理解!
 
super
 
        super關鍵和this作用類似,是被屏蔽的成員變量或者成員方法或變為可見,或者說用來引用被屏蔽的成員變量和成員成員方法。
不過super是用在子類中,目的是訪問直接父類中被屏蔽的成員,注意是直接父類(就是類之上最近的超類)。下面是一個綜合運用super的例子,有兩個類:一個Father類,一個Father類的子類Son,通過這兩個類完全演示了super的用法,一下是代碼:
 

package org.leizhimin;public class Father { public String v="Father"; public String x="輸出了Father類的public成員變量x!!!";  public Father() { System.out.println("Father構造方法被調用!"); }  public Father(String v){ this.v="Father類的帶參數構造方法!運行了."; } public void outinfo(){ System.out.println("Father的outinfo方法被調用"); }  public static void main(String[] args) { // TODO 自動生成方法存根 }} package org.leizhimin;public class Son extends Father{ public String v="Son";  public Son() { super();   //調用超類的構造方法,只能放到第一行. System.out.println("Son無參數構造方法被調用!"); //super();   //錯誤的,必須放到構造方法體的最前面. }   public Son(String str){ super(str); System.out.println("Son帶參數構造方法被調用!"); } //覆蓋了超類成員方法outinfo() public void outinfo(){  System.out.println("Son的outinfo()方法被調用"); }   public void test(){  String v="哈哈哈哈!";  //局部變量v覆蓋了成員變量v和超類變量v  System.out.println("------1-----"); System.out.println(v);  //輸出局部變量v System.out.println(this.v); //輸出(子類)成員變量v System.out.println(super.v); //輸出超類成員變量v   System.out.println("------2-----"); System.out.println(x);  //輸出超類成員變量v,子類繼承而來 System.out.println(super.x); //輸出超類成員變量v  System.out.println("------3-----"); outinfo();  //調用子類的outinfo()方法 this.outinfo(); //調用子類的outinfo()方法 super.outinfo(); //調用父類的outinfo()方法 }   public static void main(String[] args) { new Son().test();  }}

 
子類Son運行結果:
 

Father構造方法被調用!Son無參數構造方法被調用!------1-----哈哈哈哈!SonFather------2-----輸出了Father類的public成員變量x!!!輸出了Father類的public成員變量x!!!------3-----Son的outinfo()方法被調用Son的outinfo()方法被調用Father的outinfo方法被調用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
一区二区三区视频免费在线观看| 色婷婷亚洲mv天堂mv在影片| 亚洲综合小说区| 久久久久久久久久久久久久久久久久av| 成人亚洲欧美一区二区三区| 丝袜情趣国产精品| 久久久久久久久久久免费精品| 亚洲欧美日韩一区二区三区在线| 在线日韩第一页| 日产精品99久久久久久| 亚洲成人精品久久| 国产91对白在线播放| 国产成人精品久久亚洲高清不卡| 亚洲欧美另类国产| 国产精品亚洲精品| 岛国av午夜精品| 欧美激情综合色| 欧美日韩中文字幕综合视频| 88国产精品欧美一区二区三区| 日韩视频在线观看免费| 亚洲老头同性xxxxx| 国产精品美女免费视频| 欧美性高跟鞋xxxxhd| 亚洲免费人成在线视频观看| 中文字幕亚洲天堂| 2019日本中文字幕| 欧美色图在线视频| 91影院在线免费观看视频| 久久成人av网站| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久成人在线视频| 亚洲人a成www在线影院| 精品国内产的精品视频在线观看| 最新国产成人av网站网址麻豆| 欧美亚洲另类制服自拍| 高清一区二区三区日本久| 黑人狂躁日本妞一区二区三区| 亚洲人成在线播放| 91深夜福利视频| 国产日韩欧美另类| 精品调教chinesegay| 亚洲午夜国产成人av电影男同| 91精品国产高清久久久久久91| 欧洲成人免费aa| 色一情一乱一区二区| 久久久久久成人精品| 色综合天天狠天天透天天伊人| 国产成人久久久| www.国产精品一二区| 69久久夜色精品国产69乱青草| 亚洲欧美制服综合另类| 欧美诱惑福利视频| 国产精品av免费在线观看| 91夜夜揉人人捏人人添红杏| 国产精品丝袜久久久久久高清| 久久久精品一区二区| 欧美亚洲另类视频| 欧美激情第6页| 欧美中文字幕在线观看| 国产精品久久久久久久久久小说| 欧美视频中文字幕在线| 久久99久国产精品黄毛片入口| 秋霞成人午夜鲁丝一区二区三区| 国产精品户外野外| 日本中文字幕成人| 亚洲久久久久久久久久久| 精品久久久在线观看| 在线看片第一页欧美| 久久久久久午夜| 日韩亚洲欧美中文高清在线| 97在线视频国产| 国内精品久久久久伊人av| 亚洲一区999| 亚洲第一区中文字幕| 国产精品久在线观看| 97人洗澡人人免费公开视频碰碰碰| 欧美色图在线视频| 国产91精品黑色丝袜高跟鞋| 中文字幕精品视频| 亚洲黄色免费三级| 热久久美女精品天天吊色| 欧美性猛交xxxx乱大交| 最新日韩中文字幕| 成人国产亚洲精品a区天堂华泰| 另类专区欧美制服同性| 国产裸体写真av一区二区| 国产91网红主播在线观看| 国产精品免费一区二区三区都可以| 日本精品视频网站| 亚洲第一av网站| 亚洲人精品午夜在线观看| 国产xxx69麻豆国语对白| 国产精品久久久久久影视| 亚洲老板91色精品久久| 欧美综合国产精品久久丁香| 疯狂做受xxxx高潮欧美日本| 久国内精品在线| 亚洲桃花岛网站| 57pao国产精品一区| 成人午夜小视频| 日本高清视频精品| 最新国产成人av网站网址麻豆| 成人免费网视频| 久久久女女女女999久久| 中文字幕日韩免费视频| 国产精品青青在线观看爽香蕉| 亚洲精品国产精品久久清纯直播| 国产精品午夜国产小视频| 日本久久91av| 综合网日日天干夜夜久久| 国产精品亚洲第一区| 国产成人久久久| 国产91精品青草社区| 日韩精品高清视频| 国产精品视频一区二区三区四| 欧美剧在线观看| 91久久嫩草影院一区二区| 一本一本久久a久久精品综合小说| 91在线观看免费网站| 欧美二区在线播放| 欧美中文字幕第一页| 少妇高潮久久久久久潘金莲| 久久久久久久久久久av| 成人国产精品久久久| 欧美性xxxxxxx| 中文字幕精品一区久久久久| www.日韩不卡电影av| 精品成人av一区| 91在线观看免费网站| 国产福利精品视频| 中文字幕不卡在线视频极品| 国产精品高潮呻吟视频| 日韩高清中文字幕| 疯狂做受xxxx高潮欧美日本| 欧美成人sm免费视频| 国产欧美日韩精品专区| 综合欧美国产视频二区| 亚洲欧美日韩精品久久亚洲区| 欧美日韩高清在线观看| 欧美高清视频在线| 成人免费激情视频| 69久久夜色精品国产69乱青草| 97av视频在线| 九九久久久久久久久激情| 亚洲综合国产精品| 日韩影视在线观看| 亚洲欧美中文日韩在线| 国产91av在线| 色哟哟亚洲精品一区二区| 91sao在线观看国产| 精品国产精品三级精品av网址| 成人做爰www免费看视频网站| 亚洲欧美国产高清va在线播| 国产日韩欧美在线看| xxx欧美精品| 中文字幕一区二区三区电影| 中文字幕欧美精品在线| 在线视频免费一区二区| 欧美成aaa人片免费看| 2019中文字幕全在线观看| 97超碰蝌蚪网人人做人人爽| 国产视频999| 久久夜色精品国产亚洲aⅴ| 国产精品国内视频|