07.this和super的区别
2018-09-19 本文已影响0人
今天庹
this与super区别
package com.itheima;
/*
* this和super的区别
* this:当前对象的应用
* 调用子类的成员变量
* 调用子类的成员方法
* 在子类的构造方法第一行调用子类其他构造方法
* super:子类对象的父类引用
* 调用父类的成员变量
* 调用父类的成员方法
* 在子类的构造方法第一行调用父类的构造方法
*/
public class ExtendsDemo7 {
public static void main(String[] args) {
Zi3 z = new Zi3();
z.function();
}
}
class Die3 {
int num = 10;
public Die3() {
System.out.println("我是父类无参构造");
}
public Die3(int num) {
System.out.println("我是父类有参构造");
}
public void method() {
System.out.println("我是父类的方法");
}
}
class Zi3 extends Die3 {
int num = 30;
public Zi3() {
// this(1);//第一行不调用子类其他构造或者是父类构造,默认调用父类无参构造
super();
System.out.println("我是子类无参构造");
}
public Zi3(int num) {
System.out.println("我是子类有参构造");
}
public void method() {
System.out.println("我是子类的方法");
}
public void function() {
// this.num = 50;
// System.out.println("num:"+num);
// this.method();
// super.num = 30;
// super.method();
System.out.println("num:"+this.num);//如果子类中没有num变量但父类中有则使用this关键字也会调用父类的变量num
}
}