java - 创建变量没有输出??
问题描述
class Car{ int num; String color; public static void run() {System.out.println('行驶'); }}class Demo99 { public static void main(String[] args) { Car baoma = new Car();
//这这儿为什么需要使用baoma.run();这个语句才有输出呢?//下面的代码不需要引用函数就可以得到输出了
}}
这个代码没有输出这是为什么呢??下面这个代码
public class CodeBlock02{ { System.out.println('第一代码块');}public CodeBlock02(){System.out.println('构造方法');}{ System.out.println('第二构造块');} public static void main(String[] args){ CodeBlock02 acv = new CodeBlock02(); //或者用这个都有输出 new CodeBlock02();}}
问题解答
回答1:new 会去调用构造方法,
public class Demo{public Demo(){ System.out.println('demo');} } public class Run{public Run(){}public void print(){ System.out.println('run');}
如果你使用了new Demo 这个时候会去调用Demo()这个构造方法也就是会输出。但是new run()不会,因为构造方法没有调用输出语句,要输出需要去调用print()方法。
回答2:第二个输出的是“第一代码块”吧?
回答3:你要理解这几个概念:
构造方法
静态方法
实例方法
代码块
了解了这几个, 你就想明白了
相关文章:
1. python相关问题求解决,有偿2. python - 请问用cxfreeze打包的可执行程序能反编译出源码么?3. python - 用__call__ 实现装饰器功能4. javascript - input输入框触发change事件后,外部元素会被选中5. javascript - vue2.0中router.repalce跟router.push有什么区别,二者的应用场景是会有怎样的区别?6. javascript - 把字符串日期转换成一般时间格式后,发现小于10的数字不会自动添加0在前面,如下7. javascript - 在sublime中如何给.vue文件注释?8. javascript - prismplayer播放器全屏问题9. javascript - js判断一个数组是否重复10. javascript - 这种上传图片预览怎么做?