Java学习:基础(继承)(java继承总结)

createh53个月前 (02-01)技术教程21

继承的概述

  • 什么继承

1)使用关键字extends,让一个类和另一个类建立父子关系

2)继承类被称为子类或派生类,被继承类叫做父类或基类、超类

3)子类继承父类后,就具有父类公共的成员变量和行为

public class ExtendsDemo5 {
    public static void main(String[] args) {
        Student s = new Student();
        s.run(); // 返回 父类的run方法
    }
}

/**
 * 父类
 */
class People {

    public void run() {
        System.out.println("父类的run方法");

    }
}

/**
 * 子类
 */
class Student extends People {

}
  • 继承的好处

1)提高代码的复用性

2)增强类的功能性

  • 继承的设计规范

1)子类具有相同特性的功能房子父类中

2)子类独有的成员变量和行为放在子类中

继承的特点

  • 子类可以继承父类的成员变量和行为,但不能继承父类的构造器

1)子类不可以继承父类的构造器

2)子类不可以继承父类的私有成员变量和行为(内存中是继承了关系只是不能访问

3)子类可以直接使用父类的静态成员变量和方法(共享

  • java是单继承模式,一个类只能直接继承一个父类
  • java不支持多继承,但支持多层继承
  • java中所有类都是Object类的子类

1)默认继承Object类

2)要么直接继承,要么间接继承

继承后访问特点

  • 就近原则
  • 如果子类一定要访问父类成员变量和方法,使用关键字super

继承后方法重写

  • 子类出现和父类一模一样的方法声明,这子类方法就是方法重写
  • 私有方法不能被重写
  • 重写方法的权限要和父类一样或大

@Override注解

  • Override注解是放在重写的方法上,作为重写是否正确的校验
class Demo1 {
    public void run() {
        System.out.println("demo1");
    }
}

class Demo2 extends Demo1 {
    @Override
    public void run() {
        System.out.println("demo2");
    }
}

继承后构造器特点

  • 子类的全部构造器都先访问父类的无参数构造器
  • 原因:子类可能需要父类的数据,因此需要先初始化父类
  • 实现:子类第一行默认有一个super()方法直接访问父类无参数构造器

相关文章

浅谈Java内省(java内存详解)

作者:京东物流 王国泰一、什么是内省讲内省,不得不说Java Bean,Bean在Java中是一种特殊的类,主要用于装载数据,数据会被存储在类的私有属性中,通常具有无参构造函数、可序列化、以及通过ge...

java 核心技术-12版 卷Ⅰ- 6.1.4 静态和私有方法

原文6.1.4 静态和私有方法在 Java 8 中,允许在接口中增加静态方法。理论上讲,没有任何理由认为这是不合法的。只是这似乎有违于将接口作为抽象规范的初衷。目前为止,通常的做法都是将静态方法放在伴...

Java设计模式-单例模式(java单例模式原理)

单例模式定义:它确保一个类只有一个实例,并提供一个全局访问点来访问该实例。单例模式主要分为两大类:饿汉式和懒汉式,懒汉式又分为 单线程下的普通懒汉式,多线程下的双重校验锁、静态内部类、枚举。单例模式的...

用GitHub创建自己的Maven私有仓库

【Github上创建仓库】首先,在GitHub上创建自己的仓库(mvn-repo):【配置本地setting文件】找到本地的maven settings文件,配置server:有两种选择,可以选择配置...

终于搞懂了 Java 8 的内存结构,再也不纠结方法区和常量池了

java8内存结构图虚拟机内存与本地内存的区别Java虚拟机在执行的时候会把管理的内存分配成不同的区域,这些区域被称为虚拟机内存,同时,对于虚拟机没有直接管理的物理内存,也有一定的利用,这些被利用却不...

java的53个关键字(含2个保留字)第一篇

1.java的关键字(keyword)有多少个? 51+2个保留字=53个关键字(java的关键字都是小写的!!)2.java的保留字(reserve word)有多少个?问题:分别是什么? 1).c...