随笔-10  评论-11  文章-20  trackbacks-0

        在类与类发生继承的前提下,经常用到关键字super和this,对于这两者的使用也常常是困扰新手的一个问题,这里将会简单的介绍下两者的区别,希望能给大家带来帮助:

关键字:super    由子类访问父类的内容;当调用父类的属性时可以通过此方式:super.父类属性,当父类的属性没有被覆写则可以不用super,访问方法类似于属性方式为:super.父类方法()。但是访问构造函数的时候必须放在首行。

关键字:this       是直接访问本类中的内容;this.本类属性,调用本类中的属性;this.本类方法(),也可以不写this调用本类方法;this访问本类中其他构造,必须放在首行。

例如下代码:

 class C3
{
 String name;
 int age;
 
 public C3(String name , int age)
 {
  this.name = name;                 //this 调用本身属性
  this.age = age;
 }
 
 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int age) {
  this.age = age;
 }

 public String getinfoo()
 {
  return "姓名"+this.name+",年龄:"+this.age;
 }
}

class Student extends C3     //继承
{
 
 public Student(String name, int age) {
  super(name, age);                                //super 调用父类方法
 }

 public String getSchool() {
  return school;
 }

 public void setSchool(String school) {
  this.school = school;
 }

 String school;
 
 public String getinfo()
 {
  return getinfoo()+",学校:"+this.school;
 }
 
}

public class S8 {
 public static void main(String args[])
 {
  Student s = new Student("Soap",26);
  s.setSchool("Task141");
  System.out.print(s.getinfo());
 }
}


运行结果为:
姓名Soap,年龄:26,学校:Task141
posted on 2010-10-28 19:59 Soap MacTavish 阅读(168) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: