Java中的this和super關(guān)鍵字是非常常用的,它們用于訪問當前對象和父類對象。在本文中,我們將逐一介紹它們的用法。
1. this關(guān)鍵字
public class Person{ private String name; public Person(String name){ this.name = name; } public void printName(){ System.out.println("My name is " + this.name); } public static void main(String[] args){ Person p = new Person("Tom"); p.printName(); } }
在上面的例子中,我們定義了一個Person類,其中有一個構(gòu)造函數(shù)和一個printName方法。在構(gòu)造函數(shù)中,我們使用了this關(guān)鍵字來將參數(shù)name賦值給類中的屬性name。在printName方法中,我們使用this關(guān)鍵字來訪問當前對象的name屬性,這里其實this可以省略不寫。
2. super關(guān)鍵字
public class Person{ private String name; public Person(String name){ this.name = name; } public void print(){ System.out.println("I am a person."); } } public class Student extends Person{ private int grade; public Student(String name, int grade){ super(name); this.grade = grade; } public void print(){ super.print(); System.out.println("I am a student."); } public static void main(String[] args){ Student s = new Student("Tom", 3); s.print(); } }
在上面的例子中,我們定義了一個Person類和一個繼承自Person類的Student類。在Student類的構(gòu)造函數(shù)中,我們使用了super關(guān)鍵字來調(diào)用父類的構(gòu)造函數(shù)。在Student類的print方法中,我們使用了super關(guān)鍵字來調(diào)用父類的print方法。
總之,this關(guān)鍵字用于訪問當前對象,而super關(guān)鍵字用于訪問父類對象。這兩個關(guān)鍵字在Java中非常常用,并且使用起來非常方便。