Java继承实例解析

Java继承

前言

继承是面向对象语法的三大特征之一。继承可以降低代码编写的冗余度,提高编程的效率。通过继承,子类获得了父类的成员变量和方法。一个子类如何继承父类的字段和方法,如何修改从父类继承过来的子类的方法呢。今天我们开始学习有关Java继承的知识。

继承的使用方法

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
例如:我们建立一个人的类作为父类,这里面包括人的名字和身材。

private String name;
    private int stature;
    // 无参构造
    public People() {
    }
    // 全参构造
    public People(String name, int stature) {
        this.name = name;
        this.stature = stature;
    }
    //set get方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getStature() {
        return stature;
    }
    public void setStature(int stature) {
        this.stature = stature;
    }

在Java中我们可以通过 extends 关键字让子类继承父类的属性和方法。
例如:我们想建立一个男女朋友类,他们都有名字和身材这个属性,那么通过继承我们就可以让People这个父类实现复用,这样就不用重复建类了。

public class GirlFriend extends People {
    // 无参构造
    public GirlFriend() {
    }
    // 全参构造
    public GirlFriend(String name, int stature) {
        super(name, stature);
    }
    // 煮饭方法
    public void cook(){
        System.out.println(super.getName() + "正在煮饭");
    }
    // 洗衣服方法
    public void laundry(Clothes clothes){
        System.out.println(super.getName() + "正在洗衣服");
    }
}
public class BoyFriend extends People{
    // 无参构造
    public BoyFriend() {
    }
    // 全参构造
    public BoyFriend(String name, int stature) {
        super(name, stature);
    }
    // 赚钱方法
    public void makeMoney(){
        System.out.println(super.getName() + "正在赚钱");
    }
    // 陪女朋友逛街方法
    public void doShopping(GirlFriend girlFriend){
        System.out.println(super.getName()+ "正在陪" + girlFriend.getName() + "逛街");
    }
}

测试类

public class TestGF {

	public static void main(String[] args) {
		Girlfriend p1 = new Girlfriend("Marry",180);
		p1.Cook();
		p1.WashClothes();
		boyfriend bf = new boyfriend("jack",180);
		bf.MakeMoney();
		bf.Company(p1);
	}

}

注意:

  • 子类不能选择性继承父类;
  • Java不支持多重继承,但一个类可以实现多个接口,从而克服单继承的缺点;
  • 构造方法不会被子类继承,但可以从子类中调用父类的构造方法。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值