android开发教程(1)

在安卓开发过程中的一些点,这里归纳总结一些

  1. 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”(因为它是父类中的方法且可被子类访问),它照样可以正确运行。但这样似乎就有点画蛇添足的味道了。


参考文献:

  1. http://blog.163.com/qq3076169@126/blog/static/1717240672012620111028892/

你可能感兴趣的:(android,this,super)