11.继承总结

一、继承的概述

什么是继承:Java中提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立起父子关系。

public class B//子类(派生类)extends A//父类(基类/超类){
}

继承的特点:子类能继承父类的非私有成员(成员变量、成员方法)

继承后对象的创建:子类的对象是由子类、父类共同完成的。对象能直接访问什么成员,是由子父类共同决定的,子父类对外暴露什么成员,对象就可以访问什么成员。

二、继承之权限修饰符

什么是权限修饰符:就是用来限制类中的成员(成员变量、成员方法、构造器、代码块)…能够被访问的范围。

权限修饰符有几种?各自的使用权限是什么?

三、继承之单继承(Object类)

1.单继承

Java是单继承(单继承是指一个类只能继承一个直接父类),Java中的类不支持多继承,但是支持多层继承(A继承B,B继承C…

2.Obje类

Object类是Java所有类的祖宗类,我们写的任何一个类,其实都是Object的子类或子孙类。(默认有,不需要专门定义

3.方法重写

1.什么是方法重写

当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称,参数列表一样的方法,去覆盖父类的这个方法。

(注:方法重写后,Java会遵循就近原则访问方法)

2.方法重写的其他注意事项

①重写小技巧:使用@Override注解,它可以指定Java编译器,检查方法重写格式是否正确。

②子类重写父类方法时,访问权限必须大于或者等于父类方法的权限(public > protected > 缺省)

③重写的方法返回值类型,必须与被重写的方法返回值类型一样,或者范围更小。

私有方法、静态方法不能被重写,否则会报错。

3.方法重写的应用场景

子类重写Object类的toString()方法,以便返回对象内容。

//重写toString方法
    @Override
    public String toString(){
        return "Student{name=" + name + ",age=" + age + "}";
    }
//快捷方法:右键——Generate——toString()——OK

4.子类访问成员的特点(就近原则

先在子类局部范围内找

然后子类范围内找

最后父类成员范围找,如果父类范围还没有找到则报错

(如果子父类中出现了重名的成员,会优先使用子类的,如果一定要使用父类则可以使用super关键字指定访问父类成员)

public void showName(){
        String name = "局部名称";
        System.out.println(name);//局部名称
        System.out.println(this.name);//子类成员变量
        System.out.println(super.name);//父类成员变量
    }

5.子类构造器的特点

子类的全部构造器,都会优先调用父类的构造器,再执行自己。

默认情况下,子类全部构造器的第一行代码都是super(),写不写都有,它会调用父类的无参构造器。

如果父类没有无参构造器,则必须在子类构造器的第一行手写super(……),指定调用父类的有参构造器。

任意类的构造器中,可以通过this(……)去调用该类的其他构造器,this、super构造器都只能放在构造器的第一行,因此,有了this就不能写super。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值