this关键字和super关键字

This 当前类的当前对象,可以调用当前类中的一些属性和方法
super在当前类中,父类对象的引用,可以调用的是父类的一些属性和方法

Super出现在子类中,用来指定当前子类的父类对象
Super就可以调用父类的属性,父类的方法,父类的构造函数

Super在子类中调用属性和方法的时候,大部分的情况和this调用的属性和方法同一个 this.getName() == super.getName();
当子类重写了父类的方法的时候,super.showInfo() 就是父类的方法,this.showInfo()就是子类重写父类的方法
Super 只能调用父类允许继承的那些方法和属性
This可以调用自己的任何方法(public ,protected,默认的,private)

Super调用父类的构造函数
在默认的情况下,子类的构造函数会默认调用父类的无参数的构造函数
Super() 代表调用父类的无参数构造函数(Super()写不写都一样),必须出现在子类构造函数的第一句
通过super(参数值列表) 来调用父类带参数的构造函数,也必须写在子类构造函数的第一句话
This() 表示子类自己在一个构造函数中调用另一个构造函数,也必须出现在子类构造函数的第一句话( this() 和super()不能同时出现)

//构造函数
	public Dog(){  
		super();
		System.out.println("子类的无参数构造函数");
	}
	public Dog(String name,Integer age,String type)
	{ 
		this();
		//super(name,age);  //直接调用父类的带参数的构造函数
		System.out.println("子类的带参数构造函数");
		this.type  = type;
	}

你可能感兴趣的:(java)