使用super关键字可以从子类中调用父类中的构造方法、普通方法和属性

与this调用构造方法的要求一样,语句必须放在子类构造方法的首行

this和super都可以调用构造方法,但是两者不能同时出现,调用构造的时候都必须放在构造方法的首行

//=================================================
// File Name : extends_demo
//------------------------------------------------------------------------------
// Author : Common // 类名:person
// 属性:
// 方法:
class person{
private String name;
private int age; public person(String name,int age){ //构造方法
this.name = 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;
} //方法:print
// void print(){ //定义一个默认访问权限的方法
// System.out.println("Person---->void print()");
// } //方法:getInfo()
public String getInfo(){
return "姓名"+this.name+"年龄"+this.age;
}
} //类名:student
//属性:
//方法:
class student extends person{ private String school; //新定义的属性school public student(String name, int age,String school) {
super(name, age); //指定调用父类中的构造方法
this.school = school;
// TODO 自动生成的构造函数存根
} public String getSchool() {
return school;
} public void setSchool(String school) {
this.school = school;
} //方法:print
// public void print(){ //覆写父类中的方法,扩大了权限
// super.print(); //调用父类中的print()方法
// System.out.println("student---->void print()");
// } //方法:getInfo
public String getInfo(){ //覆写父类中的方法
return super.getInfo()+"学校"+this.school; //扩充父类中的方法
}
} public class extends_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
student person_1 = new student("李四",18,"清华大学");
// person_1.setName("张三");
// person_1.setAge(10);
// person_1.setSchool("涵三中");
// System.out.println("姓名:"+person_1.getName()+"\n"+"年龄:"+person_1.getAge()+"\n"+"学校:"+person_1.getSchool());
// new student("张三",11,"三中").print();
System.out.println(person_1.getInfo()); //打印信息,调用覆写过的方法
person person_2 = new person("张三",18);
System.out.println(person_2.getInfo());
} }

this和super的区别

区别        this                         super

1.属性访问    访问本类中的属性,如果本类中没有此属性      访问父类中的属性

         ,则从父类中继续查找

2.方法      访问本类中的方法,如果本类中没有此方法     直接访问父类中的方法

         ,则从父类中继续查找

3.调用构造    调用本类构造,必须放在构造方法的首行      调用父类构造,必须放在子类构造方法的首行

4.特殊      表示当前对象                  无此概念

Java关键字——super的更多相关文章

  1. java 关键字super和this

    super关键字 作用:调用父类的构造器 只能出现在子类的构造其中,并且必须是第一行 super()中的参数,决定了调用父类的那个构造器 注:如果子类构造器中没有出现super,则默认加上super( ...

  2. java关键字 super 和 this

    简单粗暴的说就是: super: 是指父类,想要在子类方法中调用父类的实例变量或方法可以通过super 来访问 this:是指当前类,想要访问当前类的实例变量和方法可以使用this,同时可以省略

  3. Java中的两个关键字——super、this

    Java中的两个关键字——super.this 神话丿小王子的博客主页 一.super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 sup ...

  4. Java关键字this、super使用总结

    版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. 作者:熔岩日期:2007-03-01MSN :leizhimin@126.com声明:原创作品,未经授权,谢绝转载! 好久没有对所学知 ...

  5. Java关键字介绍之this与super

    1.什么是super?什么是this? super关键字表示超(父)类的意思.this变量代表对象本身. 2.使用super&this调用成员变量和方法 可以使用super访问父类被子类隐藏的 ...

  6. JAVA面向对象-----super关键字

    JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量 ...

  7. Java开发笔记(四十九)关键字super的用法

    前面介绍了如何从Bird类继承而来Swallow类,按道理子类应当继承父类的所有要素,但是对于构造方法来说,Swallow类仅仅继承了Bird类的默认构造方法,并未自动继承带参数的构造方法.如果子类想 ...

  8. Java关键字(六)——super

    在 Java关键字(五)——this 中我们说 this 关键字是表示当前对象的引用.而 Java 中的 super 关键字则是表示 父类对象的引用. 我们分析这句话“父类对象的引用”,那说明我们使用 ...

  9. java的super和this关键字用法总结

    ------super关键字------                 super用途:在子类中访问超类“被隐藏的成员变量(无论是否静态)和静态方法”以及“被重写的实例方法”.这里的超类必须是“直接 ...

随机推荐

  1. selector 和 shape结合使用

    <?xml version="1.0" encoding="utf-8"?><selector xmlns:android="htt ...

  2. android部分开发摘要

    Async 异步  不会阻塞当前线程sync  同步 数据库是应用软件|结构化数据存储  JDBC  SQL ellipsis 省略 content provider   URI thread--lo ...

  3. 传入任意json数据源进行格式化处理并用Angularjs显示

    在项目开发中,有些时候我们并不知道传入的数据源(只针对于json格式的)的内部结构,本文用最笨的办法先把数据源格式化一遍,把所有的key值替换成自定义的值,然后在页面上用angularjs展示. ht ...

  4. Chrome DevTools good good study day day up

    Chrome DevTools 官方页面 https://developer.chrome.com/devtools

  5. Linux下磁盘分区挂载

    一般你去买vps都会看到介绍说硬盘多少G  比如 80G 但是你进入系统df -h的时候发现怎么只有10G呢, 其实这10G是用来装系统的和一些常用服务软件的  不是给你放网站数据的 那50G硬盘在哪 ...

  6. 引入AOP 报错 error at ::0 formal unbound in pointcut

    使用了AOP 后启动报错 九月 27, 2016 2:29:46 下午 org.springframework.context.support.AbstractApplicationContext r ...

  7. mysql-查询一天,一周,一月,一年,以及mysql的基本日期函数

    查询一天: select * from table where to_days(column_time) = to_days(now()); select * from table where dat ...

  8. log4net在Asp.net Mvc中的应用配置与介绍

    log4net在.NET中的地位就不多言语了,此篇文章着重配置.较少介绍使用.因为在网上你可以在网上搜到几十万的文章告诉你怎么用.安装的话也不废话了,很简单.Nuget里搜索一下"log4n ...

  9. BZOJ 3173: [Tjoi2013]最长上升子序列

    3173: [Tjoi2013]最长上升子序列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1524  Solved: 797[Submit][St ...

  10. 【PowerOJ1740】 圆桌问题

    https://www.oj.swust.edu.cn/problem/show/1740 (题目链接) 题意 n个单位的人去吃饭,m张餐桌,同一单位的人不能在同一餐桌,问可行方案. Solution ...