ITPub博客

首页 > 应用开发 > Java > Java 面向对象 之 super 关键字

Java 面向对象 之 super 关键字

Java 作者:huyang_ya 时间:2018-08-30 07:32:42 0 删除 编辑

转载于 :  http://www.verejava.com/?id=17159596599630  

/**
	this: 代表当前类的引用
		1. 当局部变量和成员变量同名时,  成员变量要加 this 限定
		2. 实例化时 可以用 this 调用当前类的构造方法,   必须写在第一行
		3. 可以用 this  调用当前类的 普通方法
	super : 代表当前父类的引用
		1. 实例化子类时,  可以用  super 调用父类的 非私有方法
		2. 实例化子类时.    可以用 super 调用父类的  构造方法 ,  必须写在第一行
		3. 在子类的方法中 , 可以用 supe 调用父类的 非私有方法.
*/public class Test1 {	public static void main(String[] args) {		// 实例化 农夫
		Father father = new Father();
		father.setName("农夫");
		father.setAge(90);
		System.out.println(father.getAge() + " 岁 " + father.getName() + " 有 " + father.getWealth());
		Father father = new Father("农夫", 90);
		System.out.println(father.getAge() + " 岁 " + father.getName() + " 有 " + father.getWealth());
		Son son = new Son("农夫", 90);
		System.out.println("儿子知道父亲的 : " + son.getAge() + " 岁 " + son.getName() + " 有 " + son.getWealth());
		son.work();
	}
}//父类class Father {	
	private String name;	private int age;	private String wealth;	public Father() {
		wealth = "100两黄金";
	}	public Father(String name, int age) {		this();		this.name = name;		//this.age=age;
		this.setAge(90);
	}	public void work() {
		System.out.println("耕地");
	}	public String getWealth() {		return wealth;
	}	public void setAge(int age) {		this.age = age;
	}	public int getAge() {		return age;
	}	public void setName(String name) {		this.name = name;
	}	public String getName() {		return name;
	}
}//子类class Son extends Father {	public Son(String name, int age) {		super(name, age);		//super.setName(name);
		//super.setAge(age);
	}	public void work() {		super.work();
		System.out.println("儿子 寻找黄金宝藏");
		System.out.println("只有通过自己的勤奋劳动, 才能得到果实 是最大的宝藏");
	}
}

转载于 :  http://www.verejava.com/?id=17159596599630  

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10054744/viewspace-2213145/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
10+ 年软件和互联网研发架构经验,喜爱编程 , 读书

注册时间:2013-05-02

  • 博文量
    55
  • 访问量
    35712