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

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

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

  • 相关阅读:
    websphere安装及部署
    ant的安装及使用
    JAVA多线程线程阻塞与唤醒
    Win2008 404 找不到文件或目录。
    cmd命令大全和IIS服务命令
    phpcgi.exe上传大量数据
    phpcgi.exe多个进程 ,cpu跑满
    php shopex显示乱码
    ie中td空值不显示边框解决办法
    Win2003服务器主机下无法/不能播放FLV视频的设置方法!
  • 原文地址:https://www.cnblogs.com/SAM-CJM/p/9359397.html
Copyright © 2011-2022 走看看