首页 > 代码库 > 类成员变量初始化的问题
类成员变量初始化的问题
class window{ window(int maker){ System.out.println("window"+maker); } } class House{ window w1 ;//new window(1); window w3 = new window(3); House(){ System.out.print("House"); w3 = new window(33); } window w4 = new window(4); } class Demo { public static void main(String[] args) { // TODO Auto-generated method stub House h = new House(); //System.out.println("hello world"); } } //output: window3 window4 Housewindow33
今天在看编程思想的时候,突然发现自己的java基础有多渣,习惯了get/set方法后,一直以为类成员变量在类初始化的时候只有调用类成员变量的时候并手动将其输出才可以其打印出来。看了上面这个例子才发现如果类成员变量在类内部初始化后(上例中的window类的构造器初始化后),在new一个House对象出来的时候,编译器会自动打印已初始化的类成员。 -(PS:我好渣 - -!)
而且原书讲到w3虽然初始化了两次,效率虽然不高,但是如果存在重载构造器,这样可以使初始化得到保证。
类成员变量初始化的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。