码迷,mamicode.com
首页 > 编程语言 > 详细

Java中的继承

时间:2018-07-24 13:59:19      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:ring   ati   strong   xtend   怎么办   相同   类型   字段   语法   

一.什么是继承?

继承就是一个类继承类,继承的类叫做子类,被继承的叫做父类。子类拥有父类的所有字段,但是子类只能调用父类属性为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

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

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

 

Java中的继承

标签:ring   ati   strong   xtend   怎么办   相同   类型   字段   语法   

原文地址:https://www.cnblogs.com/SAM-CJM/p/9359397.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!