使用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. 从 Microsoft SQL Server 迁移到 Oracle

    来源于:http://www.oracle.com/technetwork/cn/database/migration/sqlserver-095136-zhs.html Oracle SQL Dev ...

  2. VS2015中GLAUX库的链接问题

    最近学习OpenGL,照着例子写了个程序,用到了GLAUX库. #include <gl\glaux.h> #pragma comment(lib, "glaux") ...

  3. angular指令大全

    这篇文章的案例都是来自官方,引用的cdn来自bootcss, 因为angular的官方网站被屏了, 所以要翻, 不过我把整个文档下回来了,方便大家下载可以点击: 打开下载英文版 angular的指令 ...

  4. 如何设置让iis服务器支持.apk文件的下载

    随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件 ...

  5. Linux下磁盘分区挂载

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

  6. C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改

    在展示数据库中不知道数量的数据时怎么展示最好呢?--表格 ListView - 表格形式展示数据 ListView 常用属性 HeaderStyle - "详细信息"视图中列标头的 ...

  7. asp.net mvc 简单文件下载

    文件下载,先获取文件的路径,在通过招到文件的存放地址,通过return File(path, "text/plain", Url.Encode(name));,可以直接下载,但是必 ...

  8. iOS异步下载下载进度条显示

    说到http异步下载,首先要知道其中的关键类. 关键类是NSURLConnection  NSURLRequest NSMutableURLRequest  委托是 NSURLConnectionDo ...

  9. BIEE定制化

    (1)自定义图片的引用 (2)修改产品本身的一些图片内容 (3)修改产品本身的一些文字 如何引用自己的自定义图片: 直接找路径或者图片就可以修改 推荐不要直接替换,直接替换导致有的内容没办法直接显示出 ...

  10. BZOJ 4144: [AMPPZ2014]Petrol

    4144: [AMPPZ2014]Petrol Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 457  Solved: 170[Submit][Sta ...