java的继承
2016-03-26 11:18
375 查看
我总是记不住继承是怎么个机制,今天我来彻底的总结一下。
感谢海子,给出他的链接/article/4719051.html
先了解一下初始化的顺序
当程序执行时,需要生成某个类的对象,java执行引擎会先检查是否加载了这个类,如果没有加载,则先执行类的加载再生成对象,如果已经加载,则直接生成对象。
类加载的过程中,类的static成员变量会被初始化,类的static语句块会被执行。
java中类是按需加载,只有当用到这个类的时候才会加载这个类,并且只会加载一次
看看这个例子
会输出什么?
View Code
这是故意让你们明白究竟是怎么构造的
最后再总结一下
1、创建子类时会先创建父类
2、创建类时,最先是给类中成员变量初始化,然后才是调用构造函数
3、父类中加了static和final的方法会对子类隐藏。父类和子类同名的方法会被覆盖,被隐藏了的方法除外。
感谢海子,给出他的链接/article/4719051.html
先了解一下初始化的顺序
当程序执行时,需要生成某个类的对象,java执行引擎会先检查是否加载了这个类,如果没有加载,则先执行类的加载再生成对象,如果已经加载,则直接生成对象。
类加载的过程中,类的static成员变量会被初始化,类的static语句块会被执行。
java中类是按需加载,只有当用到这个类的时候才会加载这个类,并且只会加载一次
看看这个例子
public class T{ public static void main(String[] args){ Shape shape1 = new Shape(); Shape shape2 = new Shape(); } } class Shape{ static{ System.out.println("static is cout"); } public Shape(){ System.out.println("shape is cout"); } }
会输出什么?
shape的构造器 Circle的构造器 Circle 18 this type Circle this name Circle
View Code
这是故意让你们明白究竟是怎么构造的
最后再总结一下
1、创建子类时会先创建父类
2、创建类时,最先是给类中成员变量初始化,然后才是调用构造函数
3、父类中加了static和final的方法会对子类隐藏。父类和子类同名的方法会被覆盖,被隐藏了的方法除外。
相关文章推荐
- Java中千变万化字符串
- Java 二叉树遍历相关
- Java ThreadLocal
- 去除MyEclipse 中新建servlet多余的注释问题
- 简单谈谈java的异常处理(Try Catch Finally)
- Eclipse安装svn的过程记录
- Java 二叉查找树转化为排序的循环双链表
- spring Resolving views
- JAVA Class String
- 二、Java学习之语言基础(1)
- zookeeper错误记录一;Cannot open channel to 2 at election address s1/192.168.253.131:3888 java.net.Connec
- Spring 注解详解
- 【字符编码】Java字符编码详细解答及问题探讨
- 判断java中两个对象是否相等
- 接口与内部类(Java核心技术卷Ⅰ)
- 编译OpenJDK记录
- Java总结篇系列:Java泛型
- Java 封装 HDFS API 操作
- Java使用基本字节流OutputStream的四种方式对于数据复制(文本,音视频,图像等数据)
- java中IO流操作的标准异常类