已采纳回答 / 山野小花曳风雨
时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。题目中要求通过静态初始化块初始化age,所以age得定义为静态变量。静态变量属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。所以当某个变量假若被频繁使用就可以考虑使用静态变量。但是静态变量的生命周期知道该类被销毁的时候才会被回收资源,所以不要定义太多,会影响内存。文中原话是:然而在某些时候,我们更希望该类所有的对象共享同一个成员。你理解有误。
2019-10-21
已采纳回答 / 傻16
如果你的Helloworld类里的构造方法只有有参构造的话,你是不能在不输入参数的情况下调用你写的带参构造的。建议在类里面添加无参构造,然后再增加m_i,和m_j两个属性,先无参构造,然后再写一个赋值方法,把键盘获取的值赋给两个属性
2019-10-14
已采纳回答 / 八月未央卅
在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。这是老师课件上的,写的很清楚了。创建对象,自动执行初始化块,静态的只执行一次。
2019-09-14
已采纳回答 / zhyyyq
package com.imooc;import java.util.HashMap;import java.util.Iterator;import java.util.Scanner;public class Main {public static HashMap<Integer,Car> carList = new HashMap<Integer,Car>();public static void main(String[] args) { if(login()) { ...
2019-09-10
已采纳回答 / Ray_Loy
你这两句打印应该是写在了Animal类的构造方法和Dog类的构造方法里面把,这里其实需要你了解的是在你声明子类对象的时候,首先会调用子类的构造方法,但是在子类的构造方法方法体里面,其实会隐式的默认调用父类的构造方法并实例化一个父类对象,之后才会生成子类对象,那么在调用父类构造方法的时候,自然会打印出Animal类执行了这句话
2019-09-07
已采纳回答 / 慕村5515322
1.6-java构造方法1.构造方法就是与类名相同的方法,且没有返回值,形参可有可无。2.类中没有构造方法,也可以直接实例化。3.有参的构造方法,就是在实例化的时候初始化属性值(成员变量赋值)。4.有参的构造方法,和无参的构造方法可同时存在。构造方法重载的特性。5.当一个有参的构造方法存在时,系统不会自动生成一个无参的构造方法。以上,这是我看完1.6小结做的笔记。看不懂没关系,继续看起走,把问题记下来。然后系统的看完一遍,再回来看自己的一些疑问,有可能到时候就恍然大悟了。希望能帮到你。
2019-09-04