在安卓开发过程中的一些点,这里归纳总结一些
- This
在java中,this指代当前对象的方法或成员。特别地,对于形参与当前对象成员具有相同名字时,this引用的是当前对象的成员,而不带this的是形参。
public void setthis(string name, int id){ this.name = name; //this.name引用的是当前对象的方法或成员,而不带this的name就是形参 this.id = id; }
2. Super
用法 一:常用的用法,super一般指代的是父类的方法或成员。
public class DemoSuper extends Person{ public void print(){ System.out.println("DemoSuper:"); super.print();//调用父类的打印方法 }
用法二:调用父类构造器
class Person{ public static void prt(String s){ System.out.println(s); } //父类构造函数一 Person(){ prt("A Person."); } //父类构造函数二 Person(String name){ prt("A person name is:"+name); } } public class Chinese extends Person{ Chinese(){ super();//调用父类构造函数一 prt("A chinese.");(1) } Chinese(String name){ super(name);//调用父类具有相同形参的构造函数二 prt("his name is:"+name); } Chinese(String name,int age){ this(name);//调用当前具有相同形参的构造函数 prt("his age is:"+age); } public static void main(String[] args){ Chinese cn=new Chinese(); cn=new Chinese("kevin"); cn=new Chinese("kevin",22); } }
小结:“this指代当前对象,super指代父类”。当然,在 Chinese的各个重载构造函数中,this和super在一般方法中的各种用法也仍可使用,比如(1)处,你可以将它替换为“this.prt”(因为它继承了父类中的那个方法)或者是“super.prt”(因为它是父类中的方法且可被子类访问),它照样可以正确运行。但这样似乎就有点画蛇添足的味道了。
参考文献:
时间: 2024-11-07 15:28:27