Java关键字——super
使用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的更多相关文章
- java 关键字super和this
super关键字 作用:调用父类的构造器 只能出现在子类的构造其中,并且必须是第一行 super()中的参数,决定了调用父类的那个构造器 注:如果子类构造器中没有出现super,则默认加上super( ...
- java关键字 super 和 this
简单粗暴的说就是: super: 是指父类,想要在子类方法中调用父类的实例变量或方法可以通过super 来访问 this:是指当前类,想要访问当前类的实例变量和方法可以使用this,同时可以省略
- Java中的两个关键字——super、this
Java中的两个关键字——super.this 神话丿小王子的博客主页 一.super super 是java中方的一个关键字,用它可以引用父类中的成员: super可用于访问父类中定义的属性 sup ...
- Java关键字this、super使用总结
版权声明:原创作品,如需转载,请与作者联系.否则将追究法律责任. 作者:熔岩日期:2007-03-01MSN :leizhimin@126.com声明:原创作品,未经授权,谢绝转载! 好久没有对所学知 ...
- Java关键字介绍之this与super
1.什么是super?什么是this? super关键字表示超(父)类的意思.this变量代表对象本身. 2.使用super&this调用成员变量和方法 可以使用super访问父类被子类隐藏的 ...
- JAVA面向对象-----super关键字
JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量 ...
- Java开发笔记(四十九)关键字super的用法
前面介绍了如何从Bird类继承而来Swallow类,按道理子类应当继承父类的所有要素,但是对于构造方法来说,Swallow类仅仅继承了Bird类的默认构造方法,并未自动继承带参数的构造方法.如果子类想 ...
- Java关键字(六)——super
在 Java关键字(五)——this 中我们说 this 关键字是表示当前对象的引用.而 Java 中的 super 关键字则是表示 父类对象的引用. 我们分析这句话“父类对象的引用”,那说明我们使用 ...
- java的super和this关键字用法总结
------super关键字------ super用途:在子类中访问超类“被隐藏的成员变量(无论是否静态)和静态方法”以及“被重写的实例方法”.这里的超类必须是“直接 ...
随机推荐
- Android studio配置Git
Android studio配置Git 1.下载window 版git并安装:下载地址 2.Android Studio设置git插件:File->Setting->Version Con ...
- 切割haproxy的日志
日志的切割有以下几种方法: 1.写个定时任务,每天某个时间点把旧的日志重命名,并对服务重启使其重新打开日志并写入. 2.通过管道的方式把新产生的日志写到另外一个日志文件里. 3.通过logrotate ...
- 【BZOJ 4539】【HNOI 2016】树
http://www.lydsy.com/JudgeOnline/problem.php?id=4539 今天测试唯一会做的一道题. 按题目要求,如果暴力的把模板树往大树上仍,最后得到的大树是$O(n ...
- inline-block 左边固定,右边自适应
<body> <div class="col-md-4 left"> <div class="logo">默沙东盲讲< ...
- thinkphp全站静态页实现方法
1:在根目录下的全局index.php中加下面这行: define('HTML_PATH', './htm');//生成静态页面的文件位置 2:在项目的配置文件config.php中加下面这行: 'H ...
- 事件冒泡是什么如何用jquery阻止事件冒泡
(1)什么是事件起泡 首先你要明白一点,当一个事件发生的时候,该事件总是有一个事件源,即引发这个事件的对象,一个事件不能凭空产生,这就是事件的发生. 当事件发生后,这个事件就要开始传播.为什么要传播呢 ...
- UITableView的cell重用优化
三种情况,四种方法: 情况一:加载xib中描述的cell 情况二:加载纯代码自定义的cell 情况三:加载storyBoard中的tableView内的cell 针对于情况一: // 导入自定义cel ...
- bzoj4415&&bzoj4416&&bzoj4417:SHOI2013Day1题解
这场题好弱啊qwq 先发代码再填坑 坑已填qwq T1 bzoj4415 题目大意就是,有一个环,编号1-N,一开始指针在1,有一个长度为n的序列p,每次指针向后移pi个,然后把那个点删掉. 问所有点 ...
- 测试人员如何搭建Selenium-Grid2环境(参考Java)
Selenium对于我们进行web自动化测试有很大的帮助,如果要进行大范围的测试覆盖,就不能仅仅在一两台机器上跑了:同样Selenium-Grid也给我们提供了这样的帮助,我们可以借助Selenium ...
- POJ 3662 Telephone Lines(二分+最短路)
查看题目 最小化第K大值. 让我怀疑人生的一题目,我有这么笨? #include <cstdio> #include <queue> #include <cstring& ...