第八十四课.super关键字-1

JAVA类中使用super来引用父类的成分,用this来引用当前对象,如果一个类从另外一个类继承,我们new这个子类的实例对象的时候,这个子类对象里面会有一个父类对象。怎么去引用里面的父类对象呢?使用super来引用,this指的是当前对象的引用,super是当前对象里面的父对象的引用。

例:调用父类的getAge()

 

package com.xuenixiang.web;



public class Super1 {

      protected String name;

      private String address;

      public int age =10;

      public String getName() {

            return name;

      }

      public void setName(String name) {

            this.name = name;

      }

      public String getAddress() {

            return address;

      }

      public void setAddress(String address) {

            this.address = address;

      }

      public int getAge() {

            return age;

      }

      public void setAge(int age) {

            this.age = age;

      }



}

package com.xuenixiang.web;

public class Super2 extends Super1 {

            private int age;

         public int getAge() {

                  return age;

         }

        

         public void setAge(int age) {

                  this.age = age;

         }

         public void setName(String Mingzi) {

                  this.name = Mingzi; //子类对父类的setName进行重写

                  System.out.println("父类的setName方法被重写");

           }

        

         public void xuenixiang() {

                     System.out.println("网站名:"+this.getName());

                     System.out.println("网站地址:"+this.getAddress());

                     System.out.println("网站年龄:"+super.getAge());//调用父类的getAge

                  }

        

         public static void main(String[] args) {

                  Super2 xnx =new Super2();

                  xnx.setName("学逆向论坛");

                  xnx.setAddress("www.xuenixiang.com");

                  xnx.setAge(1);

                  xnx.xuenixiang();



         }

                 

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Java中,`super`关键字有两个主要的作用: 1. 调用父类的构造方法: 当子类创建对象时,会隐式调用父类的无参构造方法来初始化父类的成员变量。但是,如果父类中没有无参构造方法,或者我们想要显式地调用父类的有参构造方法,就可以使用`super`关键字来实现。通过`super`关键字,我们可以调用父类中特定的构造方法,并传递必要的参数。 例如: ```java public class ChildClass extends ParentClass { public ChildClass(int num) { super(num); // 调用父类的有参构造方法 } } ``` 2. 访问父类的成员变量和方法: 在子类中,如果存在与父类同名的成员变量或方法,使用`super`关键字可以访问父类中的成员变量或调用父类中的方法。这种情况下,`super`关键字可以明确指示编译器去访问父类的成员。 例如: ```java public class ParentClass { protected int num; public void display() { System.out.println("ParentClass display method"); } } public class ChildClass extends ParentClass { protected int num; public void display() { super.num = 10; // 访问父类的成员变量 super.display(); // 调用父类的方法 System.out.println("ChildClass display method"); } } ``` 在上述示例中,子类`ChildClass`中存在与父类`ParentClass`同名的成员变量`num`,通过使用`super`关键字,我们可以访问父类中的成员变量并调用父类的方法。 总结起来,`super`关键字的两个作用是调用父类的构造方法和访问父类的成员变量和方法。 希望这个解答对您有帮助!如果您还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xuenixiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值