您的位置:首页 > 编程语言 > Java开发

java的继承

2016-03-26 11:18 375 查看
我总是记不住继承是怎么个机制,今天我来彻底的总结一下。

感谢海子,给出他的链接/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的方法会对子类隐藏。父类和子类同名的方法会被覆盖,被隐藏了的方法除外。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: