您现在的位置是:群英 > 开发技术 > 编程语言
Java super关键字的基本用法和应用是什么
Admin发表于 2022-09-17 16:52:45501 次浏览
相信很多人对“Java super关键字的基本用法和应用是什么”都不太了解,下面群英小编为你详细解释一下这个问题,希望对你有一定的帮助

1.super介绍

我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。

用于访问父类的属性,方法,构造器

2.super的基本使用

我们来演示以下子类调用父类的属性,方法和构造器

父类:

/**
 * super关键字演示父类
 */
public class SuperFather {
    public int n1 = 100;
    int n2 = 110;
    protected int n3 = 120;
    private int n4 = 130;

    public void say() {
        System.out.println("我是公开的方法");
    }

    protected void show() {
        System.out.println("我是受保护的方法");
    }

    private void can() {
        System.out.println("我是私有方法");
    }
}

子类:

/**
 * super关键字演示子类
 */
public class SuperSon extends SuperFather {
    public void test() {
        // 访问父类的属性,不能访问父类的私有属性
        System.out.println(super.n1 + super.n2 + super.n3);
        // 访问父类的方法,同样不能访问父类的私有方法
        super.say();
        super.show();
    }

    public SuperSon() {
        // 访问父类的构造器
        // 访问无参构造
        super();
    }
}

3.子类和父类方法的调用细节

子类访问父类的方法,子类与父类方法无重名:

父类:

public void sum() {
    System.out.println("我是sum功能!");
}

子类:

// 本类中没有sum方法,则去父类中找sum方法,父类没有则找爷爷类
sum();
super.sum();  // 通过这种方法也可以访问哦,这种方法会跳过本类的查找直接在父类中查找

子类访问父类的方法,子类与父类方法有重名:

这种情况,子类想要访问父类的方法,只能通过super关键字来访问:

父类:

public void cal() {
    System.out.println("我是父类的cal功能 !");
}

子类:

public void cal() {
    System.out.println("我是子类的cal功能!");
}

public void test() {
    // 子类和父类重名的方法
    super.cal();
}

属性的访问规则同方法

4.super和this的区别

super关键字:我们可以通过super关键字来实现对父类成员的访问,用来引用当前对象的父类。

this关键字:指向自己的引用。

下面用代码直观的展示下二者的区别

// 父类
public class Person {

    public String name = "小卤蛋";

    public void print(){
        System.out.println("Person");
    }
}


// 子类
public class Student extends Person{

    private String name = "鲁班七号";

     public void test(String name){ // 输出name的方法

        System.out.println(name);
        System.out.println(this.name);
        System.out.println(super.name);

    }
    
    public void print(){
        System.out.println("Student");
    }

   

    public void test2(){  // 输出方法

        print();
        this.print();
        super.print();
    }
}

// main方法
public static void main(String[] args) {

        Student student = new Student();
        student.test("鲁班七号");
        student.test2();
}


通过以上内容的阐述,相信大家对“Java super关键字的基本用法和应用是什么”已经有了进一步的了解,更多相关的问题,欢迎关注群英网络或到群英官网咨询客服。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

标签: java关键字
相关信息推荐
2022-09-05 17:44:46 
摘要:这篇文章主要介绍了tp5.1 框架数据库高级查询技巧,结合实例形式总结分析了tp5.1 框架数据库快捷查询、区间查询、批量查询、闭包查询等相关高级查询使用技巧,需要的朋友可以参考下
2022-01-05 18:42:45 
摘要:小程序获取当前日期的方法是什么?在实际的小程序开发项目中,很多时候都需要我们获取当前的日期时间,年月日,那么实现代码应该怎样编写呢?下面就给大家来简单的介绍一下,需要的朋友可以参考。
2021-11-29 17:59:08 
摘要:这篇文章我们来了解php方法参数的相关内容,在PHP中,方法的参数还有许多非常有意思的能力,因此本文就给大家分享一下,有需要的朋友可以了解一下,接下来就跟随小编来看看吧!
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部