课程
/后端开发
/Java
/Java入门第二季 升级版
为什么这样不可以呢?
2020-02-06
源自:Java入门第二季 升级版 8-6
正在回答
简单一点,程序首先运行main。输出了1,然后实例化staticBlock,传入了输入值后,进入有参数的staticBlock代码块,输出了3,然后输出了结果。
输出2,然后执行了show方法,。这可以很明显的看出来,sex的值并没有向show方法中传入。所以执行show方法输出的就是空。
直接传进去值,调用show方法就有值了。
应该是这样的,有啥不对或不清楚的地方一起讨论吧。
奶尤糯米团子 提问者
因为你有参的构造函数那,是直接输出的传入值,并未对成员变量进行赋值,所以你调用show函数时,显示的null.
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
2 回答带参构造方法
4 回答为什么把父类的变量改成静态变量(父类中写有带参构造方法),子类中无参的构造方法是对的
3 回答为什么不能调用有参构造方法里面的变量进行赋值,而无参构造方法里面的变量可以直接调用进行赋值,为什么用类名声明一个有参变量不可以调用有参构造方法
3 回答构造方法中的变量是不是局部变量
2 回答为什么成员变量的初始化一定要用构造方法的参数传进来??