黑马程序员技术交流社区

标题: Car c=new Car(); 为什么会有个括号,什么含义。new Car为什么不行 [打印本页]

作者: run_wind    时间: 2014-10-16 15:55
标题: Car c=new Car(); 为什么会有个括号,什么含义。new Car为什么不行
  1. class Car//对
  2. Car这类事物进行描述
  3. {
  4. String color = "red";
  5. int num = 4;
  6. void show()
  7. {
  8. System.out.println("color="+color+"..num="+num);
  9. }
  10. }
  11. class CarDemo
  12. {
  13. public static void main(String[] args)
  14. {
  15. Car c = new Car();//建立对象
  16. c.color = "black";//对对象的属性进行修改
  17. c.show();//使用对象的功能。
  18. }
  19. }
复制代码

作者: 森屿北巷    时间: 2014-10-16 16:45
我的理解就是,创建对象就要对他进行初始化,只加()是调用无参数的构造函数,如果Person p = new Person(String name);就是调用带参数的构造方法。
作者: 哈达洋    时间: 2014-10-16 18:59
你定义方法的时候,是不是这样的:...+方法名+()?你调用的时候是不是 :  对象.方法名()?不是对象.方法  吧?
作者: nerveva2000    时间: 2014-10-16 19:43
很简单,因为你这个Car不是你自己定义出来的,Car c=new Car();的Car()是引用class Car这个类,算是java的书写格式吧。。。
作者: yuli2039    时间: 2014-10-16 21:28
这个是java语法,你要钻牛角尖还是算了
作者: java-01    时间: 2014-10-16 21:35
因为创建对象时调用的是类的构造函数,构造函数当然要加()了
作者: 迷茫小王    时间: 2014-10-16 22:26
我理解的也是创建对象要对对象初始化,后面跟的()是选用哪个构造函数进行初始或的动作。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2