java学习4-继承
2015-11-05 11:10
441 查看
/** *对象创建的步骤: *1,JVM在指定的路径,将类加载进内存 *2,在堆内存中创建一个对象,并对成员属性进行初始化设置。 *3, 加载子类的构造函数对,先加载父类的构造函数(如果有父类的话) *4,在子类构造函数的第一行加载省略的super。 *5,对子类成员属性进行显示初始化。 *6,对成员属性进行特定初始化。 *7,对象创建完以后,将地址赋给栈内存中的相应变量。 */ class Father { private int num=4; Father() { this.show(); return ; } Father(int num) { this.num=num; } void show() { System.out.println("father"+"...."+num); } } class Son extends Father { private int num=5; Son() { super();//父类构造函数运行完以后,才对变量num进行显示初始化 this.show(); return ; } void show() { System.out.println("son"+"...."+num); } }
在java中内存图解:
public class Entrance
{
public static void main(String[] args)
{
new Son();
}
}
super与this的区别:
super:代表父类空间。
this:代表本类创建的对象
其中:在统一各类中,成员变量与局部变量重名使用this区分。
在子父类中,成员变量与局部变量重名使用super区分。
相关文章推荐
- JAVA的可变类与不可变类
- java中两种类型变量
- spring mvc 下 word 文档(含图片)导出
- java中怎么判断一个字符串中包含某个字符或字符串
- Swagger与SpringMVC项目整合
- JAVA 集合
- [异常] com.mysql.jdbc.ServerPreparedStatement.setBinaryStream(ILjava/io/InputStream;J)V
- 最常用的 Eclipse 快捷键总结
- Java对象序列化
- Spring中的AOP—基于Annotation的配置方式
- Java 编程下的同步代码块
- java.lang.UnsupportedClassVersionError 解决办法
- SpringBoot学习(一)入门
- java体系技术日志
- 创建第一个Android工程-Eclipse创建Android项目
- CXF创建简单的RESTful 风格的webservice
- Eclipse SVN的使用
- Ubantu下创建eclipse快捷图标
- Web开发(jsp+javaBean+servlet )之文件上传
- Java语句块执行顺序