23 java 继承 super 关键字

创建y一个father类

package com.java.jicheng;

//java中 所有的java类直接或间接的继承java.lang.Object 类
public class father extends Object{
	private String name;
	private String address;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	//构造方法
	public father(String name, String address) {
		super();
		this.name = name;
		this.address = address;
	}
	//默认调用
	@Override
	public String toString() {
		return "father [name=" + name + ", address=" + address + "]";
	}
	
	//方法
	public void showInfo()
	{
		System.out.println("我是   father 类");
	}
	
	
	
	

}


创建一个sonClass类:

package com.java.jicheng;

public class sonClass extends father {

	//构造方法
	public sonClass(String name, String address,int age) {
		super(name, address);//相当于调入父类的构造方法
		this.age=age;
	}

	private int  age;//年龄

	public int getAge() {
		return age;
	}

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

	//默认输出
	@Override  //重写
	public String toString() {
		return "son name:"+this.getName()+",address:"+this.getAddress()+",年龄:"+this.age;
	}

//	overload :重载
//	override:  重写 | 覆盖

	//覆盖 showInfo
	@Override //重写
	public void showInfo()
	{
		System.out.println("我是   sonClass 类");
//		super.showInfo();//可以调用父类的showInfo方法
//		this.showInfo();//死循环
	}
	/*
	 * super 关键字的作用
	 * 1.利用super高精尖字调用父类的构造方法
	 * 2.在子类中利用super关键字里调用父类的方法(public | protected)private不能调用
	 * 
	 */
	/*
	 * java 中不支持多继承
	 * 一般 只 c++ 支持多继承   
	 */
}

创建一个测试类 TestClass

package com.java.jicheng;

public class TestClass {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		sonClass son1=new sonClass("liming", "北京朝阳区", 24);
		System.out.println(son1);//son name:liming,address:北京朝阳区,年龄:24
		
		father father1=son1;
		System.out.println(father1);//son name:liming,address:北京朝阳区,年龄:24
		
		System.out.println("father1 的地址:"+father1.getAddress());//father1 的地址:北京朝阳区
		
		//调用方法会调用子类的方法
		father1.showInfo();//我是   sonClass 类
		
		father father2=new father("张三", "上海");
		father2.showInfo();//我是   father 类
		System.out.println(father2);//father [name=张三, address=上海]

	}

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值