面向对象-继承性的理解

面向对象-继承性的理解

1.继承性的好处

  • 减少代码的冗余,提高代码的复用性
  • 便于功能的扩展(直接在父类中添加,子类中就能使用)
  • 为多态性的使用,提供了前提

2.继承性的格式

class A extends B{}

体现:一旦子类A继承父类B中声明的所有的属性 方法

特别的,父类中声明为private的属性的或方法,子类继承父类之后,仍然认为获取了父类中的私有结构。只是因为封装性的影响,使得子类不能直接调用父类的结构而已。

子类在继承父类之后,还能定义自己特有的属性和方法,实现功能的拓展

3.继承中的规定

  • 一个类可以被多个子类继承
  • java中类的单继承性,一个类只能有一个父类
  • 子父类是相对的概念(没有爷爷类的说法)
  • 子类直接继承的父类称谓直接父类,间接继承的父类称为间接父类(父类的父类)
  • 子类继承父类用户,就获得了父类以及所有间接父类中声明的属性和方法

如果我们没有显式的声明一个类的父类的话,则此类继承于java.lang.Object

所有的java类(除java.lang.Object类之外)都直接或间接的继承于java.lang.Object

意味着,所有的java类具有java.lang.Object类中声明的功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HRyw5NG6-1649125777129)(C:\Users\limingwei6\AppData\Roaming\Typora\typora-user-images\image-20220403170645236.png)]

5.code 举例

  • 父类、超类、基类、superclass

    public class Person {
        private String name;
        private int age;
    
        public Person()  {
    
        }
    
        public Person(String name, int age) {
            this.name = name;
            this.age = age;
        }
    
        public void eat() {
            System.out.println("人会吃饭");
        }
    
        public void sleep() {
            System.out.println("人会睡觉");
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getAge() {
            return age;
        }
    
        public void setAge(int age) {
            this.age = age;
        }
    }
    
  • 子类、派生类、subclass

    public class Student extends Person {
        String major;
    
        public void study() {
            System.out.println("学生会学习");
        }
    }
    
  • 使用

    public class ExtendsTest {
        public static void main(String[] args) {
            Student s1 = new Student();
            // 继承的person的属性
            s1.setName("aka");
            s1.setAge(10);
            // 继承的person的方法
            s1.eat();
            s1.sleep();
    
            //
            s1.study();
        }
    }
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值