现在的位置: 首页 > 综合 > 正文

JAVA构造方法

2013年11月28日 ⁄ 综合 ⁄ 共 2439字 ⁄ 字号 评论关闭

在我们初学JAVA时,已经不可避免的使用到了构造方法(Constructor)--因为实例化一个对象实际上就是去调用这个对象的构造方法。

那么究竟什么是构造方法?我们为什么需要构造方法?

下面我们来看以下代码,以下是Student类

Code:
  1. public class Student   
  2. {   
  3.            private int age;   
  4.            public void setAge(int age)   
  5.           {   
  6.                 this.age = age;   
  7.           }   
  8.           public int getAge()   
  9.           {   
  10.                return this.age;   
  11.           }   
  12.   
  13.           private String name;   
  14.           public void setName(String name)   
  15.          {   
  16.                this.name = name;   
  17.          }   
  18.          public String getName()   
  19.         {   
  20.               return this.name;   
  21.        }   
  22.           
  23.          private String hobby;   
  24.          public void setHobby(String hobby)   
  25.          {   
  26.               this.hobby = hobby;   
  27.         }   
  28.         public String getHobby()   
  29.        {   
  30.             return this.hobby;   
  31.        }   
  32.   
  33.        public void say()   
  34.       {   
  35.            System.out.println("大家好,我是" + this.name + ",今年" + this.age + "岁,我喜欢" + this.hobby);   
  36.      }   
  37. }  

我们来编写测试类,实例化几个Student类对象

Code:
  1. public class TestStudent   
  2. {   
  3.              pubic static void main(String args [])   
  4.             {   
  5.   
  6.                    //实例化对象   
  7.                    Student hamber= new Student();   
  8.                    student.Name = "hamber";   
  9.                    student.age = 20;   
  10.                    student.hobby = "学习";   
  11.   
  12.                    //实例化对象   
  13.                    student rose = new Student();   
  14.                    rose.name = "rose";   
  15.                    rose.age = 20;   
  16.                    rose.hobby ;   
  17.               
  18.   
  19.                    //调用对象的say()方法   
  20.                    hamber.say();   
  21.                    rose.say();   
  22.            }   
  23. }  

当我们运行以上程序时,我们会发现Student对象rose忘了对其属性hobby赋值,真是个麻烦

像以上声明方法,我们需要对每个对象的属性一一赋值,有没有简便的方法呢

这就需要用到了我们的构造方法

构造方法的作用就是为了初始化对象,简便初始化过程的。

构造方法需要满足以下规则:

1.方法名必须与类名一致

2.没有返回类型

3.在构造方法中,不允许出现return语句

示例:

Code:
  1. public Student   
  2. {   
  3.               
  4.            //无参构造方法   
  5.            public Student(){}   
  6.   
  7.            ```````````````   
  8. }  

 

构造方法有分为有参构造方法和无参构造方法

有参构造方法就是带有参数的构造方法,在很多时候,我们需要显式的为类中的属性进行赋值,这就需要用到了有参构造方法。

 示例:

Code:
  1. public Student   
  2. {   
  3.   
  4.               `````````````````````   
  5.   
  6.               //有参构造方法   
  7.                public Student(String name,int age,String hobby)   
  8.              {   
  9.                         this.Name = name;   
  10.                         this.Age = age;   
  11.                         this.Hobby = hobby;   
  12.             }   
  13.              `````   
  14. }  

注意:

在JAVA程序中,若某个类中没有显式声明构造函数(无论是有参还是无参),系统都将隐式生成一个无参的构造方法。

如果,在类中显式声明了一个构造方法(无论是有参还是无参),则系统隐式生成的无参构造方法就没有了··

抱歉!评论已关闭.