创建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=上海]
}
}