• 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

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

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

  • 相关阅读:
    记人生第一面之ThoughtWorks面试经历
    2016阿里笔试
    思特沃克学院学习方法总结
    敏捷软件开发
    express
    如何将项目部署到heroku并使用malb数据库
    渐进增强与平稳退化
    what is react?
    什么是Node.js
    面试1(转)
  • 原文地址:https://www.cnblogs.com/SAM-CJM/p/9359397.html
Copyright © 2020-2023  润新知