Java基础:第二十九讲 成员方法

类的成员方法用于对成员变量进行操作,可以分为3类:构造方法,用于对成员变量进行初始化;访问器方法,对成员变量赋值或者用于获取成员变量的值;业务方法,完成特定的功能。

1、构造方法

构造方法用于对成员变量进行初始化,构造方法的特点如下:

方法名与类名相同;

方法没有返回值类型。

例如:

public class Person{

   private int height;

   private Date birthday;

   private String name;

   public Person(){

   }

}

类的构造方法可以有多个,称为构造方法的重载。不同的构造方法采用不同的方式对成员变量进行初始化,下面提供了Person类的3个构造方法:

   public Person(){

   }

   public Person(String name){

      this.name = name;

   }

  public Person(String name,int height){

      this.name = name;

      this.height = height;

   }

在构造方法中可以调用其它的构造方法,这样可以减少重复的代码,要调用构造方法可以使用this(参数列表),上面的第3个构造方法可以写成:

    public Person(String name, int height) {

        this(name);

        this.height = height;

    }

注意:调用其它构造方法的代码必须放在构造方法的第一行,下面的代码就是错误的:

    public Person(String name, int height) {

        this.height = height;

        this(name);  // 这是错误的,必须放在第一行

    }

this关键字的用法后面介绍。

2、访问器方法

通常成员变量都是私有的,为了供外界访问,必须提供公有的方法,包括获取属性值的方法get方法,和对属性赋值的方法set方法。例如对于上面的height属性,应该提供如下两个方法:

 public int getHeight() {
  return height;
 }

 public void setHeight(int height) {
  this.height = height;
 }

 set方法的命名规则为set加上属性的名字,属性名字首字母换成大写的,例如:属性birthday,应该提供setBirthday方法,通常情况下,set方法的返回值通常是void,方法的参数类型与操作的属性的类型一致;

get方法的命名规则为get加上属性的名字,属性名字首字母换成大写的,例如:属性birthday,应该提供getBirthday方法,通常情况下,get方法的返回值类型与要访问的属性的类型一致,不需要参数,所以方法的参数列表为空;

对于布尔类型的属性值,获取属性值的方法有时候可以写成is+属性的方法,例如某个属性表示是否打开,方法名可以写成isOpen,方法的定义可以写成:

public boolean isOpen(){

   retrun open;

}

对于数组类型(关于数组的内容,请参考Java基础:第十四讲 数组)的属性,可以获取整个数组的值,也可以获取数组中某个元素的值,可以设置整个数组的值,也可以设置数组中某个元素的值,所以应该提供4个方法,例如属性int[] a,应该提供如下方法:

 public int[] getA() {
  return a;
 }

 public void setA(int[] a) {
  this.a = a;
 }
 
 public void setA(int value,int index){
  a[index] = value;
 }
 
 public int getA(int index){
  return a[index];
 }

前两个方法对整个数组进行操作,而后两个方法对数组中的某个单元进行操作。

3、业务方法

业务方法用于描述对象具有的功能,业务方法的定义和编写可以参考前面介绍的方法定义(Java基础:第十五讲 方法使用

上一讲介绍了成员变量,本次内容介绍了成员方法,结下来介绍,如果使用类创建对象并调用对象的方法。

李绪成 优快云 Blog: http://blog.youkuaiyun.com/javaeeteacher
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值