Java开发——Java中的Super关键字基本用法
小职 2020-12-17 来源 :转载自“Java进阶学习交流”,仅限学习分享 阅读 684 评论 0

摘要:本篇主要介绍了在Java中Super关键字的基本用法,希望对Java开发的学习有所帮助。

本篇主要介绍了在Java中Super关键字的基本用法,希望对Java开发的学习有所帮助。

Java开发——Java中的Super关键字基本用法


一、重写父类方法

 

1.什么是重写父类方法

 

在继承关系中,子类会继承父类所定义的方法,当在子类中对继承方法进行一些修改,这就是重写父类方法。也就是说子类包含父类同名方法。

 

2.重写父类方法遵循“两同两小一大”原则

 

两同:方法名,参数列表相同。

 

两小:子类方法返回值类型小于等于父类方法返回值类型;子类方法声明抛出的异常类小于等于父类方法声明抛出的异常类。

 

一大:子类方法的访问权限大于等于父类方法的访问权限。

 

3.重写父类方法案例

 

例如:

 

//定义Animal类

class Animal{

public String name;//名字属性

public int age;//年龄属性

//动物叫的方法

void shout(){

        System.out.print("动物发出的叫声");

}

}

//定义Cat继承Animal类

class Cat extends Animal{

void shout(){

        System.out.print("喵喵喵~~~~");

}

//显示名字和年龄方法

public void show(){

        System.out.print("我是"+name+","+"今年"+age+"岁");

}

}

public class p20 {

public static void main(String[] args) {

    // TODO Auto-generated method stub

    Cat c=new Cat();//创建Cat类实例对象

    c.name="英国短毛猫";//给Cat类的name属性赋值

    c.age=2;//给Cat类的age属性赋值

    c.show();//调用Cat类的show()方法

    c.shout();//调用Cat类的shout()方法

    }

}

输出的结果是:

 

我是英国短毛猫,今年2岁喵喵喵~~~~

从上面代码中,Cat类是继承Animal类的shout()方法,当Cat类继承Animal类还没有shout()方法时,调用的Animal的shout()方法并打印“动物发出的叫声”,这时就不能描述具体的动物叫声,Cat类对象表示猫类,发出的叫声是“喵喵喵~~~”。方法的重写就是在Cat子类中定义一个shout()方法对父类的方法进行重写。在调用Cat类对象的shout()方法时,只会调用子类重写的该方法,没有去调用父类的shout()方法。

 

二、super关键字

 

1.什么是super关键字

 

super是当前类的直接父类对象,是对当前对象的直接父类对象的引用。

 

2.如果当子类重写父类的方法后,子类对象是不能访问父类被重写的方法,可以使用super关键字访问父类的成员

 

3.super关键字调用父类的成员变量和成员方法格式

 

super.成员变量

Super.成员方法([参数1,参数2,参数3,....])

4.super关键字的用法案例

 

例如:

 

//定义Animal类

class Animal{

    String name="动物";//name属性

    int age=6;//age属性

    void shout(){

    System.out.println("动物发出的叫声");

    }

}

class Dog extends Animal{

    String name="狗";//name属性

    //重写父类的shout方法

    void shout(){

    super.shout();

}

//访问父类成员变量

void show(){

    System.out.println("名字:"+super.name+","+"年龄:"+super.age+"岁!");

    }

}

public class p22 {

public static void main(String[] args) {

    // TODO Auto-generated method stub

    Dog d=new Dog();//创建狗的对象

    d.shout();//调用Dog对象的重写的shout方法

    d.show();//调用Dog对象的show方法

    }

}

输出的结果是:

 

动物发出的叫声

名字:动物,年龄:6岁!

从上面代码中,首先定义一个Animal类,在Dog类继承Animal类,然后重写了父类的shout()方法,在子类中使用super.shout()调用父类重写的方法,在show()方法访问父类的属性,super关键字是可以访问属性和方法。

 

三、super关键字调用父类的构造方法

 

1.super关键字调用父类的构造方法格式

 

super([参数1,参数2,参数3,...])

2.super关键字调用父类的构造方法案例

 

例如:

 

//定义Fruit类

class Fruit{

//定义Fruit类有参数的构造方法

public Fruit(String name,double weight){

        System.out.print("我是一个"+name+","+"重量为:"+weight+"g!");

  }

}

//定义Cherry继承Fruit类

class Cherry extends Fruit{

public Cherry(){

        super("樱桃",66);//调用父类有参数的构造方法

}

}

 

public class p23 {

public static void main(String[] args) {

        // TODO Auto-generated method stub

        Cherry c=new Cherry();//实例化子类Cherry对象

  }

}

输出的结果是:

 

我是一个樱桃,重量为:66.0g!

从上面的代码中,首先是定义了一个Fruit类,在Fruit类中定义了有参数的构造方法。定义Cherry继承Fruit类,调用父类有参数的构造方法。在实例化Cherry对象就会调用Cherry类的构造方法,Cherry类的构造方法被调用时父类的构造方法也一样被调用了。super调用父类构造方法的代码要写子类构造方法的第一行,只可以出现一次。

 

四、 总结

 

本文主要介绍了重写父类的方法和super关键字。

 

重写父类方法就是子类包含父类同名方法,遵循两同两小一大”原则。

 

super关键字是当前类的直接父类对象,是对当前对象的直接父类对象的引用,通过super关键字案例理解这个用法。

 

此外,本文还介绍了super关键字调用父类的构造的方法,介绍了它的格式和super关键字调用父类的构造方法案例。希望大家通过本文的学习,对你有所帮助!



关注“职坐标在线”(Zhizuobiao_Online)公众号,免费获取学习视频资料、技术就业咨询。

Java开发——Java中的Super关键字基本用法

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程