JAVA 继承部分的总结

本文详细介绍了Java中的继承原理,包括如何通过继承复用代码、访问权限控制、子类构造过程、成员变量隐藏与方法重写、super关键字的应用,以及final类和final方法的特性。还讨论了对象的上转型及其在不同情况下的使用。
摘要由CSDN通过智能技术生成

前言:基本是为了我自己看的一些我容易忘记的东西

继承:

  • 继承是一种由已有的类创建新类的机制,由继承得到的类称为子类,被继承的类称为父类。
  • 利用继承有利于实现代码的重复使用,子类只需要添加新的代码功能即可,JAVA不支持多重继承,即子类只可以有一个父类
  • 继承的定义:
    • 子类的成员中一部分是子类自己声明定义的,另一部分是从他的父类继承的。
    • 子类继承父类的成员变量作为自己的一个成员变量
    • 子类继承父类的方法作为子类中的一个方法
  • 访问权限的问题:

     

  • default是默认的权限。
  • 如果子类与父类在同一个包中,那么子类自然的继承了其父类中的不是private的成员变量作为自己的成员变量,方法也一样,继承的成员或方法的访问权限不变。
  • 如果不在同一个包中,那么子类只能继承父类的protected、public成员变量和方法,继承的成员或方法的访问权限不变。

子类对象:

  •  当用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法,如果子类没有指明调用那个构造方法,子类就调用父类的不带参数的构造方法。
  • 将子类声明的成员变量作为子类对象的成员变量。
  • 父类的成员变量也都分配了内存空间,但只将其中一部分(继承的那部分)作为子类对象的成员变量

成员变量的隐藏和方法的重写:

  • 当子类中定义了和父类同名的成员变量时,子类就隐藏了继承的成员变量。
  • 方法重写是指:子类中定义一个方法,并且这个方法的名字、放回类型、参数个数和类型与从父类中继承的方法完全相同。
    • 如果子类想使用被隐藏的方法就必须使用关键字super;

super 关键字:

  1. 使用super调用父类的构造方法。
  2. 使用super操作被隐藏的成员变量和方法。
package Test;

import java.util.Scanner;

class father{
    public void show(){
        System.out.println("father say");
    }
}
class child extends father{
    public void show(){
        super.show();
        System.out.println("child say");
    }
}
public class Test {
    public static void main(String[] args) {
        child c1=new child();
        c1.show();
    }
}

 

 final类和final方法:

  • final类不能被继承,不能有子类;
  • JAVA提供的String 类他对于编译器和解释器的正常运行有着很重要的作用,对他不能轻易改变,因此他被修饰为final类。
  • 如果一个方法被修饰为final方法,则这个方法不能被重写,即不允许子类重写隐藏继承的final方法。

对象的上转型对象:

  • A a;  B b=new B(); a=b;
  • 则称对象a为对象b的上转型对象
  • 上转型对象不能操作子类声明定义的成员变量,不能使用子类定义的方法;
  • 上转型对象可以代替子类对象去调用子类重写的实例方法;
  • 上转型对象可以调用子类继承的成员变量和隐藏的成员变量;
  • 可以将上转型对象在强制转换成一个子类对象,这是子类对象又具有了子类的所有属性和功能;

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小李小于

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

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

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

打赏作者

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

抵扣说明:

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

余额充值