super和this区别

super

super表示引用父类,在继承的类使用,不能在其他的使用

Super出现在子类中,用来指定当前子类的父类对象

super的用法:

  1. Super就可以调用父类的属性
  2. Super就可以调用父类的方法
  3. Super就可以调用父类的构造函数

super在 父类的用法的特点:

  1. Super在子类中调用属性和方法的时候,大部分的情况和this调用的属性和方法同一个  this.getName()   == super.getName();
  2. 当子类重写了父类的方法的时候,super.showInfo() 就是父类的方法,this.showInfo()就是子类重写父类的方法
  3. Super 只能调用父类允许继承的那些方法和属性

Super调用父类的构造函数

在默认的情况下,子类的构造函数会默认调用父类的无参数的构造函数

Super() 代表调用父类的无参数构造函数(Super()写不写都一样),必须出现在子类构造函数的第一句

通过super(参数值列表)  来调用父类带参数的构造函数,也必须写在子类构造函数的第一句话

this

  1. 当前对象的引用(当前对象表示,谁调用方法谁就是当前对象)
  2. 成员变量和局部变量,可以通过this关键字来调用
  3. this()也需要在构造函数的第一行
  4. This可以调用自己的任何方法
  5. This 可以直接调用构造函数(在一个构造函数中调用另一个构造函数)

  6. 在类的内部,this 可以调用属性,也可以调用方法;

  7.  

    This()的方式调用无参数构造函数

代码

package jicheng.com;

public class Dad {
	
	private String name;
	private String job;
	
	 public Dad() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Dad(String name, String job) {
		super();
		this.name = name;
		this.job = job;
	}

	String hobby="三国演义";
	
	public void attitude() {
		this.name="张华";//当前对象的引用
		System.out.println("认真地负责");
	}
	public void work() {
		this.job="郑州大学";
		System.out.println("他是"+this.job+"软件开发的教授");
	}

	public String getName() {
		return name;
	}

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

	public String getJob() {
		return job;
	}

	public void setJob(String job) {
		this.job = job;
	}
	

}

package jicheng.com;

public class Son extends Dad{
	 String job;

	public void work() {
		super.work();
		this.job=super.getJob();//调用父类的属性
		System.out.println("他在"+this.job +"读研");
	}
	
	

}

package jicheng.com;

public class Daughter extends Dad {
	String hobby="恋恋不忘";
	public void like() {
		super.attitude();//调用父类父类的方法
		System.out.println("女儿喜欢"+hobby);
	}
}

package jicheng.com;


public class Test {
		public static void main(String[] args) {
			Daughter daughter  =new Daughter();
			daughter.like();
			Son son=new Son();
			son.work();
		}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值