super详解(java)

继承

  1. 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。 extends的意思是“扩展”。子类是父类的扩展。
    2.JAVA中类只有单继承,没有多继承! 继承是类和类之间的一种关系。除此之外类和类之间的关系还有依赖、组合、聚合等。
    3.继承关系的俩个类,一个为子类(派生类)一个为父类(基类)。子类继承父类使用关键字 extends来表
    4.子类和父类之间从意义上讲应该具有isa"的关系 object类 super this

创建父类、子类,子类中继承父类的所有方法

1.main函数
public class appliction {
    public static void main(String[] args) {
          Student student = new Student();//new一个student对象
          student.test("世界和平");//调用用text方法
       }
}

2.子类
//子类继承父类,就会拥有父类所有方法
public class Student extends Person{
   
    public String name = "世界";//定义一个对象
    public void test(String name){
        System.out.println(name);//这里的name是主函数传入的变量
        System.out.println(this.name);//这里的name是自身定义的name"世界"
        System.out.println(super.name);//这里的name是父类中的name,使用super调用
    }
}

3.父类
public class Person {
protected String name = "你好";
    }

输出结果:
在这里插入图片描述

从结果可以看出, 首先输出“世界你好”,因为在子类的方法中第一条输出语句为主函数传入的变量,以此类推输出剩下的结果。


在父类子类中构造函数,并在主函数中调用

1.主函数

public static void main(String[] args) {
          Student student = new Student();
          student.test1();
    }

2.子类

public class Student extends Person{
    public void print(){
        System.out.println("Student");
    }
    public void test1(){
         this.print();//this表示自身的方法
        super.print();//用super调用父类的方法
        }

3.父类

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

   

运行结果:

在这里插入图片描述


在父类子类显示无参构造

1.主函数

 public static void main(String[] args) {
          Student student = new Student();//new一个stuent对象
         }

2.子类

public class Student extends Person{
    //子类调用无参构造
    //正常情况下,为隐藏代码,自动调用子类构造器
    public Student() {
         //如果父类为有参构造,所以在super中需加入参数否则会出现错误
        super();//代用父类构造器,必须在子类构造器第一行
        System.out.println("Student无参构造");
    }

3.父类

public class Person {

    //调用无参构造器
    public Person() {
        System.out.println("Person无参构造");
    }
}

运行结果:
在这里插入图片描述

super的注意点

1.super调用父类的构造方法,必须在构造方法的第一个

2.super只能出现在子类的方法或者构造方法中 和this的区别

 代表对象不同:
 
 this:本身调用者这个对象
 
 super:代表父类对象的应用

 前提:

 this:没有继承也可以用

 super:只有在继承条件中才可以使用
 
 构造方法:
 
 this :本类的构造
 
 super:父类的构造

初次学习,不足之处之后学习到再进行完善补充

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值