super:可以用来修饰属性  方法   构造器

当子类与父类中有同名的属性时,可以通过   super.此属性  显式的调用父类声明的属性

若想调用子类的同名的属性“this.此属性”

2.当子类重写父类的方法以后,在子类中若想再显式的调用父类的被重写的方法,就需要使用 super.方法

3.super修饰构造器:通过在子类中使用“super(形参列表)”来显示的调用父类中指定的构造器

>在构造器内部,super(形参列表) 必须声明在首行

>在构造器内部,this(形参列表)或super(形参列表)  只能出现一个

>当构造器中,不是显示调用this(形参列表) 或super(形参列表)其中任何一个默认调用的是父类空参的构造器

建议:当设计一个类时,尽量要提供一个空参的构造器。

Person:

package com.aff.sup;

public class Person {
protected String name;
private int age;
int id = 1001;// 身份证号 public Person() {
this.name = "AA";
this.age = 1;
} public Person(String name) {
this();
this.name = name;
} public Person(String name, int age) {
this(name);
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public void eat() {
System.out.println("eating");
} public void sleep() {
System.out.println("sleeping");
this.eat();
} // 比较当前对象与形参的对象的age谁大
public int compare(Person p) {
if (this.age > p.age) {
return 1;
} else if (this.age < p.age) {
return -1;
} else {
return 0;
}
}
}

Student:

package com.aff.sup;

public class Student extends Person {
private String schoolName;
int id = 1002;// 学号 public Student() {
super();
} public void eat(){
System.out.println("学生吃饭");
} public void info(){
this.eat();
super.eat();
super.sleep();//写成this.sleep也行 反正只有一个
} public void show() {
System.out.println(this.id);//
System.out.println(super.id);// 1001 调用父类的id
System.out.println(super.name);
}
}

TestStudent:

package com.aff.sup;

public class TestStudent {
public static void main(String[] args) {
Student s = new Student();
s.show();
s.info();
}
} 输出结果:

1002
1001
AA
学生吃饭
eating
sleeping
学生吃饭

 

super调用父类的属性方法的更多相关文章

  1. python__基础 : 类的继承,调用父类的属性和方法

    1.继承,调用父类属性方法 在python里面,继承一个类只需要这样写: class Animal: def heshui(self): print('动物正在喝水') class Cat(Anima ...

  2. python使用super()调用父类的方法

    如果要在子类中引用父类的方法,但是又需要添加一些子类所特有的内容,可通过类名.方法()和super()来调用父类的方法,再个性化子类的对应函数. 直接使用类名.方法()来调用时,还是需要传入self为 ...

  3. 第7.22节 Python中使用super调用父类的方法

    第7.22节 Python中使用super调用父类的方法 前面章节很多地方都引入了super方法,这个方法就是访问超类这个类对象的.由于super方法的特殊性,本节单独谈一谈super方法. 一.su ...

  4. C#中子类调用父类的实现方法

    这篇文章主要介绍了C#中子类调用父类的实现方法,通过实例逐步分析了类中初始化构造函数的执行顺序问题,有助于加深对C#面向对象程序设计的理解,需要的朋友可以参考下     本文实例讲述了C#中实现子类调 ...

  5. 【转】子类会调用父类的@PostConstruct方法

    如果一个类用@Service或@Component,那么只需要用@PostConstruct修饰某个方法,该方法能在类实例化的过程中自动执行,相当于类的构造函数.同时,具备了构造函数不具备的功能. @ ...

  6. super()调用父类构造方法

    super()表示调用父类中的构造方法 1.子类继承父类,子类的构造方法的第一行,系统会默认编写super(),在调用子类的构造方法时,先调用父类的无参数构造方法 2.如果父类中只有有参数构造方法,那 ...

  7. 使用super调用父类的构造方法

    package com.bjpowernode.t02inheritance.c09; /* * 使用super调用父类的构造方法 */public class TestSuper02 { publi ...

  8. [py]super调用父类的方法---面向对象

    super()用于调用父类方法 http://www.runoob.com/python/python-func-super.html super() 函数是用于调用父类(超类)的一个方法. clas ...

  9. Java -- 子类使用super调用父类的方法A,A 调用了方法B,子类也override方法B,那么super.A()最终调用到了子类的B方法

    public class SuperClass{ public void printA(){ System.out.print("SuperClass-printA"); prin ...

随机推荐

  1. shell字符串索引

    shell中的字符串索引一会从0开始,一会从1开始,见例子: #!/bin/bash string="hello world" length=${#string} echo &qu ...

  2. 僵尸进程(zombie process)

    首先了解一下linux中进程的5大状态: R Running or runnable (on run queue)S Interruptible sleep (waiting for an event ...

  3. 12_JavaScript基础入门(2)

    运算符 运算符(Operators,也翻译为操作符),是发起运算的最简单形式. 运算符的分类见仁见智,我们的课程对运算符进行如下分类: 数学运算符(Arithmetic operators)      ...

  4. 一分钟明白MySQL聚簇索引和非聚簇索引

    MySQL的InnoDB索引数据结构是B+树,主键索引叶子节点的值存储的就是MySQL的数据行,普通索引的叶子节点的值存储的是主键值,这是了解聚簇索引和非聚簇索引的前提 什么是聚簇索引? 很简单记住一 ...

  5. 【Spark】RDD(Resilient Distributed Dataset)究竟是什么?

    目录 基本概念 官方文档 概述 含义 RDD出现的原因 五大属性 以单词统计为例,一张图熟悉RDD当中的五大属性 解构图 RDD弹性 RDD特点 分区 只读 依赖 缓存 checkpoint 基本概念 ...

  6. [hdu5270]按位统计,容斥,归并

    题意:给两个序列[a, a + n), [b, b + n),求所有数(ai + bj)的异或和,i,j∈[0,n). 思路:这个题思路比较巧妙,不难但是难想到.BC上的题解讲得非常清楚了,我就直接c ...

  7. mybatis 插入数据返回ID

    hibernate中插入数据后会返回插入的数据的ID,mybatis要使用此功能需要在配置文件中显示声明两个属性即可:

  8. 初识spring boot maven管理--配置文件

    web环境下修改信息需要重启服务器,如果在一个大型的项目中经常重启服务器,那浪费的时间可想而知,今天介绍个好东西 --spring boot!一般学习都是从hello world开始学习的!下面介绍s ...

  9. python之PyCharm下载和安装教程

    PyCharm 是 JetBrains 公司(www.jetbrains.com)研发,用于开发 Python 的 IDE 开发工具.图 1 所示为 JetBrains 公司开发的多款开发工具,其中很 ...

  10. Vue Element-UI使用第三方icon图标(转)

    转载自:https://www.jianshu.com/p/59dd28f0b9c9 1.打开阿里icon,注册 >登录>图标管理>我的项目   2.新建项目 3. 添加icon到项 ...