Java super和this的异同总结
2016-01-02 10:56
465 查看
super和this的异同
1)super(参数列表):调用父类中的某一个构造函数(应该为构造函数中的第一条语句)this(参数列表):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)
2)super: 它引用当前对象的直接父类中的成员(用来访问直接父类中被隐藏的父类中成员数据或函数,基类与派生类中有相同成员定义时如:super.变量名 super.成员函数据名(实参)
this:它代表当前对象名(在程序中易产生二义性之处,应使用this来指明当前对象;如果函数的形参与类中的成员数据同名,这时需用this来指明成员变量名)
3)调用super()必须写在子类构造方法的第一行,否则编译不通过。每个子类构造方法的第一条语句,都是隐含地调用super(),如果父类没有这种形式的构造函数,那么在编译的时候就会报错。
super()和this()类似,区别是,super()从子类中调用父类的构造方法,this()在同一类内调用其它方法。
super()和this()均需放在构造方法内第一行。
4)尽管可以用this调用一个构造器,但却不能调用两个。
5)this和super不能同时出现在一个构造函数里面
因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
6)this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块。
7)super就是一个指向父类对象的引用,this就是指向当前对象的引用
详解:点击打开链接 评论更精彩哦
相关文章推荐
- spring05 spring的配置信息
- java中的包
- spring04 数据库操作 spring+jdbc/hibernate 及其声明式事务处理
- (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
- spring03 AOP、各种通知、一/多个切面例子
- spring02 注解方式实现MVC、spring的继承、代理模式(静/动) :jdk动态代理,cglib动态代理
- spring01 环境搭建、控制反转、依赖注入、springIOC和DI实现MVC模式
- eclipse(ini)
- Eclipse下设置github开发环境
- JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用
- java语言jdk下载、安装,环境变量的搭载
- 使用Java开发自动化检测域名是否可注册工具 推荐
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
- 三杯水问题 算法分析、设计与实现(Java)
- Flexigrid的使用(整合Struts2)
- JAVA访问控制变量、类变量、类方法
- 每天一点儿JAVA-向量的操作
- 总结eclipse中安装maven插件
- java学习—day_1
- Java语言基础知识