最赞回答 / jueyajue
类加载有几个阶段:加载、验证、准备 (这个阶段为jvm为类的静态属性分配内存)、解析、初始化。至于你说的对象的实例化就是对应初始化这个过程,即初始化阶段是执行类构造器方法的过程。类构造器方法是由编译器自动收集类中的所有类变量的赋值动作和静态语句块(static块)中的语句合并产生的。
2017-06-15
最新回答 / starkpan
你的变指的是什么?你这里代码输出的都是在初始化构造方法的时候输出的值。你后期赋值phone.cpu=3.6f;phone1.screen=6.0f.这里变量的值已经改变了,但是你并没有在控制台打印出来,所以控制台显示的都是你构造方法中的值。
2017-06-14
最赞回答 / Sherlock丶Holmes
要区分开它们两者的区别,首先构造方法,当创建一个类的对象的时候你会选择它使用什么样的构造方法,一个参数还是两个参数的构造方法,每次创建一个对象就会执行 对应的 构造方法的语句; 其它构造方法不执行初始化块,是无论你用什么构造方法,反正创建对象就必须先执行一次初始化块的代码。
2017-06-14
最新回答 / 慕的地8525849
这个问题牵扯到了修饰符定义访问权限的问题在Java编译中不同的修饰符会定义不同的访问权限如果修饰符是public就表示是公开的访问权限,表示这个变量可以在任何地方被调用。private是另一个修饰符,表示的是私有的访问权限,表示这个变量只能在定义变量的这个类中使用。
2017-06-13
最赞回答 / weibo_业严_0
每次生成一个数就遍历已经生成的数,比较是否相同,不同就使一个随机数数量count++,并加到这个随机数集合里,直到count等于你想要得到的随机数数量。
2017-06-12
最赞回答 / 温柔只给意中人_
他这里创建类的时候忘记集成父类 extends Telphone 少了这一句 他下面的new 是创建父类对象 就是写了这一句就可以用phone拿父类中的方法 比如你现在要拿到父类中的一个eat()方法你得先new这个对象 然后phone.eat();这样就拿到了
2017-06-11
最新回答 / qq_躲在角落看我笑丶话_0
首先你这个Inner不是静态内部类,所以new HelloWorlda().name,这个不行,而且静态内部内你非要研究这种之前this关键字的东西。。。。
2017-06-10
最新回答 / Qiaogh
四个内部类中,匿名内部类最常见,常常出现在只需调用一次的情况,类似与 javascript 的回调函数(callback)。方法内部类最少见,静态内部类和方法内部类我也回答不了
2017-06-10