zoukankan      html  css  js  c++  java
  • Java中的继承

    一.什么是继承?

    继承就是一个类继承类,继承的类叫做子类,被继承的叫做父类。子类拥有父类的所有字段,但是子类只能调用父类属性为public和protected的字段(在同一包下子类可以调用父类的包访问权限的字段)。

    二.继承的意义?

    继承和组合都是快速实现了代码复用的方式,但是两者又有不同点。

    三.语法

    使用关键字extends,列子:

    public class B extends A {//B类继承了A类
        public static void main(String[] args) {
            
        }
    }

    使用关键字 extends后B类将自动拥有A类的所有的方法和域

     四.关键字super

    当子类继承一个父类后,如果他想调用一个方法中的调用父类的方法,那他该怎么办呢?

    public class A {
        
    
        public void print() {
            System.out.println("A类中print方法!");
        }
    }
    public class B extends A {//B类继承了A类
        public void print() {
            print();//想调用父类的prinnt函数但是这样的操作将会倒置无限递归
        }
        public static void main(String[] args) {
            B b=new B();
            b.print();
        }
    }

     这时使用关键字 super,就可以调用父类的方法print,代码如下:

      public void print() {
            super.print();//想调用父类的prinnt函数但是这样的操作将会倒置无限递归
        }

    五.初始化问题

     1.顺序问题

    按照逻辑顺序来讲,想要初始一个子类那么必定先要初始化其父类,所以在子类的构造器中首先要做的事情就是初始化父类,同样初始化父类还是使用super关键字

        public B() {
            super();
        }

     2.参数问题

    父类的构造器中有几个参数那么子类中的构造器也要有几个参数,并且类型相同。

        public A(int intNum, String str, long longNum) {
            super();
            this.intNum = intNum;
            this.str = str;
            this.longNum = longNum;
        }
    
    
    
    
            public B(String str, int intNum, long longNum) {
            super(intNum,str,longNum);
        }

    六.子类的重写代码和添加新的字段3

    在子类中你可以添加新的字段,然后再构造器中对其进行初始化。

    对于重写代码就是将父类的函数在子类中进行一次新的定义,赋予其新的功能。

  • 相关阅读:
    MKMapVIew学习系列2 在地图上绘制出你运行的轨迹
    WPF SDK研究 Intro(6) WordGame1
    WPF SDK研究 Intro(3) QuickStart3
    WPF SDK研究 Layout(1) Grid
    WPF SDK研究 目录 前言
    WPF SDK研究 Intro(7) WordGame2
    WPF SDK研究 Layout(2) GridComplex
    对vs2005创建的WPF模板分析
    WPF SDK研究 Intro(4) QuickStart4
    《Programming WPF》翻译 第6章 资源
  • 原文地址:https://www.cnblogs.com/SAM-CJM/p/9359397.html
Copyright © 2011-2022 走看看