classTest2_Extends{publicstaticvoidmain(String[]args){Ziz=newZi();}/*1,jvm调用了main方法,main进栈2,遇到Ziz=newZi();会先将Fu.class和Zi.class分别加载进内存,再创建对象,当Fu.class加载进内存父类的静态代码块会随着Fu.class一起加载,当Zi.class加载进内存,子类的静态代码
分类:
编程语言 时间:
2018-06-21 21:06:00
阅读次数:
151
classStudent{static{System.out.println("Student静态代码块");}{System.out.println("Student构造代码块");}publicStudent(){System.out.println("Student构造方法");}}classDemo2_Student{static{System.out.println("Demo2_Stu
分类:
编程语言 时间:
2018-06-21 18:57:42
阅读次数:
118
一个类中执行顺序: 静态变量静态代码块代码块构造方法 子类和父类执行顺序: 父类静态变量父类静态代码块子类静态变量子类静态代码块父类代码块父类构造方法子类代码块子类构造方法 直接看代码,一目了然。 ...
分类:
编程语言 时间:
2018-06-20 21:22:30
阅读次数:
200
权限关键字: public:可以被所有其他类所访问,不同的包 protected:当前类的成员、同一个包中、不同包中对子类可见父类protected,继承类 default:同一包中的类可以访问,声明时没有加修饰符,认为是friendly。同一个包 private:只能被自己访问和修改 都可以修饰类 ...
分类:
编程语言 时间:
2018-06-08 21:58:46
阅读次数:
191
1.静态代码块:在类加载的时候运行,不能访问普通变量,不能存在任何方法体中; (2)静态方法:类初始化的时候加载 (3)静态变量:类初始化的时候加载2.构造代码块: (1)每次创建对象的时候都会提前调用一次构造代码块 (2)构造代码块不是优先于构造函数执行,而是依托于构造函数 对象的初始化顺序: 首 ...
分类:
其他好文 时间:
2018-06-06 12:40:09
阅读次数:
150
###01final关键字概念 * A: 概述 继承的出现提高了代码的复用性,并方便开发。但随之也有问题,有些类在描述完之后,不想被继承, 或者有些类中的部分方法功能是固定的,不想让子类重写。可是当子类继承了这些特殊类之后, 就可以对其中的方法进行重写,那怎么解决呢? 要解决上述的这些问题,需要使用 ...
分类:
其他好文 时间:
2018-06-03 23:36:32
阅读次数:
185
1.public static void main() 方法中,static 和 public可以换位置,可以final修饰,也可以synchronize修饰。 2.类中的静态代码块比main方法先执行,无论静态代码块在main之前还是之后。准确来说,这是因为,静态代码块在类加载时就会执行,并且只执 ...
分类:
编程语言 时间:
2018-06-03 21:46:53
阅读次数:
165
一、静态代码块 里面可以有输出语句 随着类的加载而加载,而且只被加载一次 多个静态代码块之间按照顺序结构执行 静态代码块的执行要早于非静态代码块的执行。 静态的代码块中只能执行静态的结构(类属性,类方法) 二、非静态代码块 可以对类的属性(静态的 & 非静态的)进行初始化操作,同时也可以调用本类声明 ...
分类:
编程语言 时间:
2018-06-02 17:43:07
阅读次数:
186
一:final修饰的变量 1.被final修饰的变量必须显示指定初始值。指定初始值的方法有三种。 1.定义该变量时直接指定。 2.在非静态代码块中指定该变量的初始值 3.在构造器中指定该变量的初始值 2.被final修饰的类变量同样时必须显示指定初始值。指定的方法有两种。 1.定义该变量时直接指定。 ...
分类:
其他好文 时间:
2018-05-24 18:56:46
阅读次数:
188
当创建java对象时,程序总会先依次调用每个父类的非静态代码块、父类构造器(总是从Object开始)执行初始化,最后才调用本类的非静态代码块、构造器进行初始化。而父类构造器的调用则取决于子类的显示调用(使用super关键字调用父类构造器)或隐式调用(没有使用super或者this则默认调用父类的无参 ...
分类:
其他好文 时间:
2018-05-23 02:06:05
阅读次数:
156