super关键字的使用

原创 2016年06月02日 08:54:38
/*
*本代码无任何实际意义,只是自学中记录学习的东西而已。如有不对请批评指正为谢。
*/
class Animal {
    String name;
    int age;
    String size;
    Animal(){
        System.out.println("无参构造");
    }
    Animal(String name,int age){
        this();//可用这句调用本类构造
        this.name = name;
        this.age = age;
        System.out.println("两个参数构造");
    }
    Animal(String size,int age,String name){
        this(name,age);//形参的位置顺序不一致也可以
        this.size = size;
        System.out.println("三个参数构造");
    }
    void activity(){
        System.out.println("run");
    }
}

class Dog extends Animal{
    Dog(){
        System.out.println("Dog无参构造");
    }

    Dog(String name,int age){
        super(name,age);//这里用super调用父类构造,奇怪的是String和int的位置可以不一样。
        System.out.println("Dog两个参数构造");
    }
    Dog(String name,int age,String size){
        super(size,age,name);//就算有两个String类型参数也不会出错。
        System.out.println("Dog三个参数构造");
    }
    void activity(){
        super.activity();//这里super还可以用来消除部分重复代码,调用父类一般方法。
        System.out.println("woof");
    }
}

public class TestDemo  {
    public static void main (String args[]){
    Dog d = new Dog("cent",3,"big");
    System.out.println("狗的名字" + d.name);
    System.out.println("狗的年龄" + d.age);
    System.out.println("狗的大小" + d.size);
    }

}
/*output
无参构造
两个参数构造
三个参数构造
Dog三个参数构造
狗的名字cent
狗的年龄3
狗的大小big
*/
版权声明:本文为自学笔记,请多批评指教为谢!!

Java super关键字用法

分别介绍了在构造方法和非构造方法中super关键字的四种不同的用法。
  • ccpat
  • ccpat
  • 2015年03月20日 14:02
  • 1779

iOS中的super关键字

前面讲过继承,由那篇文章往下接,下面我们熟悉一下super关键字 如果我们在子类中想要调用父类的被覆盖的方法,可以使用super关键来调用父类被覆盖的实例方法。继承中我们又一个fly的方法,就是鸟能...
  • liyunxiangrxm
  • liyunxiangrxm
  • 2016年02月14日 14:14
  • 1192

Java super关键字详解

一.super关键字作用 1:主要存在于子类方法中,用于指向子类对象中父类对象。 2:访问父类的属性 3:访问父类的函数 4:访问父类的构造函数 二.super注意的地方 this和super很像...
  • qq_33642117
  • qq_33642117
  • 2016年07月15日 17:14
  • 2653

继承之super关键字的使用

一、super关键字:在对象的内部使用,可代表父类对象。1. 访问父类的属性:super.age2. 访问父类的方法:super.eat()例:package 关键字extends;public ...
  • T_P_F
  • T_P_F
  • 2016年11月12日 14:30
  • 193

——黑马程序员——OC中self和super关键字的使用

-----------android培训、java培训、java学习型技术博客、期待与您交流!-----------
  • yhp1095785221
  • yhp1095785221
  • 2015年11月04日 21:54
  • 172

[面试] [java] super 关键字的使用

从一道笔试题说起, 下面一段代码的执行结果是? public class Test extends Base{ private String name; public static void ...
  • wfh6732
  • wfh6732
  • 2017年03月08日 23:14
  • 105

Java super关键字的使用

一、super1、 在对象的内部使用,可以代表父类对象。2、访问父类属性 :super.属性 访问父类方法 :super.方法二、演示案例 创建Animal类,并定义age属性和eat(...
  • qq_18505715
  • qq_18505715
  • 2017年05月16日 15:30
  • 213

【Java基础知识】继承体系中的成员关系,this,super关键字的使用,数据初始化

一、Java继承体系中成员的关系【成员变量、构造函数、成员方法】 A:成员变量 子类的成员变量名称和父类中的成员变量名称一样,这个怎么访问呢?         子类的方法访问变量的查找顺序:    ...
  • zhuwenchao90
  • zhuwenchao90
  • 2016年10月12日 12:01
  • 132

再学 iava基础(4)重载,重写,super,this,final关键字。

一:重载, :重载(Overloading)     (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。 重载...
  • tiantongxa
  • tiantongxa
  • 2012年05月28日 07:55
  • 162

本人对this super static 关键字的理解

this 1:this代表所在函数所属对象的引用。     2:this可以用于构造函数之间相互调用                    构造函数之间不能通过this来递归调用。       ...
  • yogkin
  • yogkin
  • 2015年04月28日 21:41
  • 341
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:super关键字的使用
举报原因:
原因补充:

(最多只允许输入30个字)