java继承

一、说明

继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。

二、使用继承

  1. 先定义一个Animal类
class Animal extends Object{
    String name = "动物";
    String color;
    int leg;
    public Animal(String color,int leg){//有参构造
        System.out.println(color+leg);
    }
    public void eat(){
        System.out.println("吃饭");
    }
    public void sleep(){
        System.out.println("睡觉");
    }
}

所有的类默认都继承Object类,可写可不写

  1. 定义一个Cat类并让他继承Animal类
    Animal就是Cat的父类,Cat是Animal的子类
class Cat extends Animal{
	//可写可不写
    public Cat(String name,int leg){
        super(name,leg); //默认系统加上,访问父类的空参构造
    }
    public void print_name(){
        System.out.println(super.name);
    }
    public void eat(){
        System.out.println("猫吃饭");
    }
    public void print_att(){
        System.out.println("颜色:"+color+"..."+"leg数量:"+leg);
    }
}

继承Animal父类以后可以在父类原有的功能上还可以加其他的功能,这就使得功能增加了,代码量也减少了。

  1. 在主函数中调用cat类访问父类的功能
public class Demo3_Extends {
    public static void main(String[] args){
        Cat c = new Cat("张三",15);//访问父类的有参构造
        c.color = "black";//访问父类的color
        c.leg = 4;//访问父类的leg
        c.eat();//父类和子类中都有eat方法
        c.sleep();//访问父类中的sleep方法
        c.print_att();//打印颜色和数量
    }
}

在这里插入图片描述

  • 可以看到cat类中并没有定义color和leg但是它可以使用父类的属性
  • 如果父类和子类有相同的方法会优先执行子类的,比如上图代码的eat(),它会执行子类的而不会执行父类的eat方法。当然也可以这么理解子类的eat()功能如果比父类的eat()功能强大那为什么还要父类的,就是这个意思,就相当于重写了父类的方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝朽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值