Java 初始化
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java 初始化,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3054字,纯文字阅读大概需要5分钟。
内容图文
![Java 初始化](/upload/InfoBanner/zyjiaocheng/846/032f1622b7f8445f8764e429cf9c044c.jpg)
static 初始化
static 成员初始化顺序
package object; class Bowl { Bowl(int marker) { System.out.printf("Bowl("+marker+")\n"); } void f1(int marker) { System.out.printf("f1("+marker+")\n"); } } class Table{ static Bowl bowl1 =new Bowl(1); Table() { System.out.println("table()"); } void f2(int marker) { System.out.println("f2("+marker+")"); } static Bowl bowl2 = new Bowl(2); } class Cupboard { Bowl bowl3 = new Bowl(3); static Bowl bowl4 = new Bowl(4); Cupboard() { System.out.print("Cupboard\n"); bowl4.f1(2); } void f3(int marker) { System.out.println("f3("+marker+")"); } static Bowl bowl5 = new Bowl(5); } public class StaticInitialization{ public static void main(String args[]) { System.out.println("Creating new Cupboard() in main"); new Cupboard(); //静态成员只有在第一个Cupboard在创建时才会初始化,此后,静态成员不会再次初始化 System.out.println("Creating new Cupboard() in main"); Cupboard cupboard = new Cupboard(); new Table().f2(1); new Cupboard().f3(1); } }/* output: Creating new Cupboard() in main Bowl(4) Bowl(5) Bowl(3) Cupboard f1(2) Creating new Cupboard() in main Bowl(3) Cupboard f1(2) Bowl(1) Bowl(2) table() f2(1) Bowl(3) Cupboard f1(2) f3(1) *///~
显示的初始化静态方法
package object; //: initialization/ExplicitStatic.java import static net.mindview.util.Print.*; class Cup { Cup(int marker) { print("Cup("+ marker +")"); } void f(int marker) { print("f("+marker+")"); } } class Cups { static Cup cup1; static Cup cup2; //静态域 static{ cup1 = new Cup(1); cup2 = new Cup(2); } //静态块 Cups() { print("Cups()"); } } public class ExplicitStatic{ public static void main(String args[]) { print("Inside main()"); Cups.cup1.f(99); // (1) 无论时通过(1)还是注释掉(1)运行(2),Cups的静态初始化都会执行
// 静态初始化只会执行一次,如果(1)(2)全部注释掉则不会执行初始化
} //static Cups cups1 = new Cups(); //(2) //static Cups cups2 = new Cups(); //(2) }/* output: Inside main() Cup(1) Cup(2) f(99) *///~
非静态实例的初始化
package object; import static net.mindview.util.Print.*; class Mug { Mug(int marker) { print("mug("+ marker + ")"); } void f( int marker) { print("f("+marker +")"); } } public class Mugs{ Mug mug1; Mug mug2; { mug1 = new Mug(1); mug2 = new Mug(2); print("mug1 & mug2 initialized"); } //实例初始化子句是再构造器之前执行的 Mugs() { print("MUgs()"); } Mugs(int i){ print("Mugs(int)"); } public static void main(String args[]) { print("Instde main()"); new Mugs(); print("new Musg() cmopleted"); new Mugs(1); print("new Mugs(1) completed"); } }/* output: Instde main() mug(1) mug(2) mug1 & mug2 initialized MUgs() new Musg() cmopleted mug(1) mug(2) mug1 & mug2 initialized Mugs(int) new Mugs(1) completed *///~
数组的初始化
package object; import static net.mindview.util.Print.*; import java.util.*; public class ArrayNew{ public static void main(String args[]){ int [] a; Random rand = new Random(47); a = new int[rand.nextInt(20)]; print("length of a = " + a.length); print(Arrays.toString(a)); //Arrays.toString 产生一维数组的打印版本 } }/* output: length of a = 18 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]//数组元素会自动初始化为空值(对于数字和字符就是0,对于boolean是false) *///~
内容总结
以上是互联网集市为您收集整理的Java 初始化全部内容,希望文章能够帮你解决Java 初始化所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。