extends的含义java_java中“继承”是什么意思?

继承(子承父业)

子类继承父类,那么子类就可以拥有父类中所有公共的(public)属性和方法

使用场景

当多个子类中描述的属性及行为是相同的或者大部分是相同的,此时就可以考虑使用继承,以简化代码

关键字:extends 继承

思考:继承可以简化代码,提高代码的利用率,那是不是只要有相同的东西就可以使用继承

继承虽然可以简化代码,但是通常用于同一种事物,并且有多个共同的属性或者功能时才会考虑使用继承

1

在java的普通类中是不允许出现多继承的(会出现嗲永不明确的问题),但是可以有继承体系

思考:非静态的属性和方法只有在创建对象的时候才会被加载进入内存中,然后才可以通过对象进行调用

那么,此时没有创建父类的对象,为什么还能调用其中的方法?

只要是非静态属性和方法想要被加载,那么一定会有对象的存在.子类在开辟空间后会在自己的空间中让出一部分用于父类使用

1

思考:所有类中对应空间的开辟都有构造器,那么父类想要在子类空间中开辟空间就需要构造器.父类的构造器在哪?他是怎么执行的?

没个类中都有一个默认的无参构造器(类本身没有定义构造器)

关键字:super 超类(父类)代指父类对象

注意点:只要存在继承体系,调用子类构造器时,构造方法终究会默认去执行super(),super()默认不写.

另外,如果要显示的写出来,那么必须在第一行(和this一样)

在子类中的方法之需哦一可以互相调用,是因为默认持有了一个this对象,存在继承关系时,子类中再调用父类属性及方法时间都默认持有了super关键字

this代指对象在本类,super代指对象在父类

1public class Cat extends Animal{

2

3 private int aa;

4

5 public Cat() {

6 System.out.println("--Cat--"); }

7           }

8

9  public Cat(int aa)

10{ this();

11 this.aa =aa;

12        }

13

14 } public void catchMouse() {

15  System.out.println("猫抓老鼠");prin

16     }

17}

1 public class ExtendDemo {

2              public static void main(String[] args) {

3                         Cat cat = new Cat();

4                        cat.catchMouse();

5                        cat.eat();

6                        cat.sleep();

7

8                       Bird bird = new Bird();

9                       bird.fly();

10           }

11}

12a739ef1ba60c42f0cacc586144e75f71.png

原文链接:

https://blog.csdn.net/weixin_52234276/article/details/109607200?utm_medium=distribute.pc_category.none-task-blog-hot-4.nonecase&depth_1-utm_source=distribute.pc_category.none-task-blog-hot-4.nonecase63d5d86b21fc6ca272a037de1fe9cbb5.png

对编程感兴趣的,可以学习一下视频,更多精彩的知识等你来探索~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值