黑马程序员技术交流社区

标题: 构造函数和 函数的辨别问题! [打印本页]

作者: hejinzhong    时间: 2014-7-8 23:45
标题: 构造函数和 函数的辨别问题!
(1)构造函数是类中没有函数类型、没有返回语句、与类名同名的一个函数。
(2)一般函数就只为了实现某个功能的代码块。有自己的类型和return语句,且名字可以自己随意指定。
有这么个问题,就是都知道构造函数只是在创建对象实体的时候去运行,为该实体初始化相关的参数。而一般函数是可以无限调用。我想问,为什么构造函数也是一个函数,有自己的名字,为什么不能调用呢?为什么只是系统自动去运行,为对象初始化。若我们手动去调用可以否?

写个例子好明白点,疑问所在。
class Student
{
    String name = "zhangsan";
    int age;
    Student()
   {
        System.out.println(name+"+"+age);
  }
   Student(int a)
  {
    SetAge(a);
     System.out.println(name+"+"+age);
  }
  void SetAge(int a)
  {
    age=a;
  }
}

class Demo
{
    public static void main(String[] args)
    {
      Student s = new Student(15);
      s.SetAge(18);//这个是调用类中的一般函数。
      s.Student();//这为什么不可以调用构造函数,构造函数一直存在?
    }
}

//我的编译是找不到函数 Student()






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