奶头挺立呻吟高潮av全片,成人试看120秒体验区,性欧美极品v,A片高潮抽搐揉捏奶头视频

java語言

Java編程中this關鍵字與super關鍵字的使用方法

時間:2024-08-23 22:06:25 java語言 我要投稿
  • 相關推薦

Java編程中this關鍵字與super關鍵字的使用方法

  this

  總要有個事物來代表類的當前對象,就像C++中的this指針一樣,Java中的this關鍵字就是代表當前對象的引用。

  它有三個主要的作用:

  1、在構造方法中調用其他構造方法。

  比如有一個Student類,有三個構造函數,某一個構造函數中調用另外構造函數,就要用到this(),而直接使用Student()是不可以的。

  2、返回當前對象的引用。

  3、區分成員變量名和參數名。

  看下面的例子:

  public class Student { private String name; private int age; private String college; public Student() { age = 20; } public Student(String name) { this();//can not be call Student,only use this() method. this.name = name; System.out.println("this student name is "+name); } public Student(String name,String college) { this(name);//C++中可以直接用Student(name)調用其他構造函數 this.college = college; System.out.println("this student name is "+name+" college is "+college); } public Student upgrade() { age++; return this; } public void print() { System.out.println("name is: "+name +" age is: "+age +" college is: "+college); } public static void main(String[] args) { Student student1 = new Student("linc"); Student student2 = new Student("linc","shenyang college"); student2.upgrade().print(); } }

  迷失在茫茫的對象海洋時,不要忘了用this來找到自我。

  super

  super是this的父輩。從面相對象的角度說,這兩個概念是很好理解的。

  子類從父類繼承過來,父類的protected及以上的屬性和方法在子類中是天生就具有的。那么,為什么還要有super這個關鍵字?

  第一、看父類的構造

  子類構造時要先調用父類的默認構造函數的,這與C++的構造屬性一致。當父類有多個構造函數時,你需要指定調用哪個。這是就需要使用super(arg1,arg2...)。

  需要注意的是,在子類的構造函數中調用基類的構造函數時,必須要把super寫作最前面,否則報錯。

  第二,在子類覆蓋父類的一些方法中再調用父類的此方法。大家都知道,在子類中覆蓋父類的一些方法是面向對象中多態的一種方式,而因為其他種種原因,需要在此方法中調用父類的此方法,用以區分,此時需要使用super來完成。

  public class ClassLeader extends Student { private String duty; public ClassLeader() { duty = "class monitor"; } public ClassLeader(String duty,String name,String college) { super(name,college); this.duty = duty; } public void print() { super.print(); System.out.println("duty is " + duty); } public static void main(String[] args) { ClassLeader leader = new ClassLeader("life","linc","shenyang"); leader.print(); } }

  將兩個類文件放在同一個目錄,編譯并運行:

  D:workspaceJavaproject261super>javac -d . *java D:workspaceJavaproject261super>java ClassLeader

  運行結果:

  this student name is linc this student name is linc college is shenyang name is: linc age is: 20 college is: shenyang duty is life

  看看在其他語言中是怎樣來處理的:

  C#中提供了base關鍵字來完成super相似的功能,C++直接用基類的名字來調用。

【Java編程中this關鍵字與super關鍵字的使用方法】相關文章:

理解java中的關鍵字04-02

解析Java中volatile關鍵字04-03

Java中通過final關鍵字面向對象的詳解04-03

PHP中this關鍵字03-28

java的import關鍵字是什么03-27

Java編程中throw和throws子句的使用方法04-03

C語言關鍵字RESTRICT介紹10-25

Java編程中異常處理的方法12-16

Java編程中獲取路徑的方法12-03

主站蜘蛛池模板: 湘乡市| 赣榆县| 南充市| 论坛| 黑水县| 武邑县| 永德县| 中牟县| 白银市| 泾阳县| 常山县| 安仁县| 轮台县| 秦皇岛市| 涡阳县| 驻马店市| 墨竹工卡县| 南皮县| 南汇区| 民县| 梧州市| 都兰县| 阳原县| 洮南市| 霍邱县| 怀仁县| 土默特左旗| 奈曼旗| 永宁县| 辰溪县| 华容县| 唐河县| 扶沟县| 涞水县| 海淀区| 吴桥县| 芦山县| 绥宁县| 翁牛特旗| 清涧县| 会昌县|