构造方法和成员方法

构造方法:是一种特殊的方法,主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。

     特别的一个类可以有多个构造方法 ,可根据其参数个数的不同或参数类型的不同来区分它们,即构造方法的重载。

  主要特点:

    1.名字相同:构造方法的命名必须和类名完全相同。(在java中普通方法可以和构造方法同名,但是必须带有返回值)

    2.无任何返回值:构造方法没有返回值,也不能用void来修饰。

    3.使用new来调用:构造方法不能被直接调用,必须通过new运算符在创建对象时才会自动调用。(而一般的方法是在程序执行到它的时候被调用的)

    4.无显式构造方法时,系统默认无参构造方法:Java编译器会提供一个默认的构造方法.此默认构造方法是不带参数的。(建议手动给出无参构造方法)

注:给成员变量赋值有两种方法:

    1.使用set方法(此方法更常用);  2.使用带参构造方法;

  赋值方法虽然不同,但调用方法都是相同的,都是使用getXxx。

 1 class Student{//学生类
 2     private String name;//成员变量
 3     private int age;//成员变量
 4     public Student(){//无参构造方法
 5     }
 6     public Student(String name,int age){//带参构造方法
 7         this.name = name;
 8         this.age = age;
 9     }
10     public String getName(){//成员属性
11         return name;
12     }
13     public void setName(String name){//成员属性
14         this.name = name;
15     }
16     public int getAge(){//成员属性
17         return age;
18     }
19     public void setAge(int age){//成员属性
20         this.age = age;
21     }
22 }
23 class ExtendsTest{
24     public static void main(String[] args){
25         Student s1 = new Student();//使用set方法
26         s1.setName("benon");
27         s1.setAge(18);
28         System.out.println(s1.getName()+"---"+s1.getAge());
29         
30         Student s2 = new Student("yanyan",16);//使用带参构造方法
31         System.out.println(s2.getName()+"---"+s2.getAge());
32     }
33 }

 

与一般方法的区别:
  1.构造方法:对象创建时,就会调用与之对应的构造方法,对对象进行初始化;
     一般方法:对象创建后,需要方法功能时才会调用;
  2.构造方法:对象创建时,会调用且只调用一次;
     一般方法:对象创建后,可以被调用多次;
注意:一般方法也可以和类名同名!(为了区分,构造方法首字母大写,而一般方法首字母小写。)
 
什么时候定义构造方法:
  在描述事物时,该事物一存在就具备的一些内容,这些内容都定义在构造方法中。
 
posted @ 2019-04-15 16:39  benon  阅读(1618)  评论(0编辑  收藏  举报