美文网首页
Java继承

Java继承

作者: 小豆oo | 来源:发表于2019-01-18 10:13 被阅读0次

一、Java继承详解

Java继承
目录:
1.为什么要”继承“?
2.继承的类型
2.1 单继承
2.2 多重继承
2.3 多个子类继承一个基类
2.4 Java没有多继承
3.继承的特性
4.继承关键字✨
4.1 extends-继承类
4.2 implements-继承接口,可以变相实行多继承
4.3 super-父类(直接看成类名)
4.4 this-当前类
4.5 final
4.5.1 final修饰类-不继承
注:final修饰的类中,成员方法默认为final,成员变量不是默认为final
4.5.2 final修饰成员方法-只继承不能重写
4.5.3 final修饰成员变量-常量
4.6 构造器
4.6.1 无参构造器-默认调用父类的无参构造器
4.6.2 有参构造器-用super关键字调用父类的有参构造器

二、要注意的点

1.构造器
(1)子类的构造器中调用父类的构造方法必须放在第一行,否则会报错
(2)子类的构造器如果没有调用父类的有参构造方法,就会在第一行默认调用父类的无参构造方法,但子类的构造器如果调用了父类的有参构造方法,则不会默认调用父类的无参构造方法
(3)子类的构造器中调用父类的有参构造器要用super关键字
(4) 父类如果含有有参构造方法,最好显示写出无参构造方法,因为子类可能会默认调用父类的无参构造方法,如果不显示写出无参构造方法,则会报错
代码来源

//基类的无参构造器和有参构造器
class SuperClass
{
    private int n;
    //无参构造器
    SuperClass()
    {
        System.out.println("SuperClass()");
    }
    //有参构造器
    SuperClass(int n)
    {
        System.out.println("SuperClass(int n)");
        //this.n指向的是变量n,n指向的是参数n
        this.n = n;
    }
}
class SubClass extends SuperClass
{
    private int n;
    SubClass()
    {
        //调用父类有参构造器,则不会自动调用父类的无参构造器
        super(300);
        System.out.println("SubClass");
        System.out.println("————————————————");
        
    }
    public SubClass(int n)
    {
        //第一行默认调用父类无参构造器
        //Super()
        System.out.println("SubClass(int n):"+n);
        this.n = n;
    }
}
public class InitializerTest {

    public static void main(String[] args) {
        SubClass sc = new SubClass();
        SubClass sc2 = new SubClass(200);
    }

}

输出结果为:
SuperClass(int n)
SubClass
————————————————
//默认调用父类的无参构造器
SuperClass()
SubClass(int n):200

搞笑😄一刻

来自@FS

面向对象编程中常见概念深入理解.png

相关文章

  • Java继承

    一、Java继承详解 Java继承目录:1.为什么要”继承“?2.继承的类型2.1 单继承2.2 多重继承2.3 ...

  • Java继承

    Java继承 一、继承类型 Java不支持多继承,但是支持多重继承 二、继承的特性 子类拥有父类非 private...

  • JAVA语言第二课

    JAVA面向对象——四大特征 继承篇——extendsJava 继承继承的概念继承是java面向对象编程技术的...

  • java培训专家介绍java的特性之:继承

    java培训专家介绍java的特性之:继承 什么是继承?java特性继承又是什么?在线教育平台专家为你解答! 多个...

  • JAVA 核心笔记 || [7] 继承

    继承 被继承的类为 基类 或者 父类 类 只能单继承 不可同时继承多类 Animal.java Dog.java ...

  • 继承

    java中对于继承,java只支持单继承。java虽然不直接支持多继承,但是可实现多接口。 1:成员变量。当子父类...

  • 2017-12-29

    Java学习日记(4) 主要谈一下——继承extends 个 Tips : Java不像c++,Java是单继承(...

  • JAVA核心技术总结(五六章)继承&接口与内部类

    第五章 继承 在Java中,所有的继承都是公有继承,没有C++的私有继承和保护继承 Java同C++一样,子类不能...

  • Java初级笔记No.3(更新中)

    2018.7.26 1、Java中的继承 Java中使用extends关键字来说明继承关系。 2、继承的特性 ja...

  • Java中的继承

    Java中的继承 Java 继承 什么是继承 继承是用来描述“is-a”的关系;如果说两个对象A和B,若可以描述成...

网友评论

      本文标题:Java继承

      本文链接:https://www.haomeiwen.com/subject/qumgdqtx.html