关于“构造器与方法”
关于“构造器与方法”
遇见你 发表于2年前
关于“构造器与方法”
  • 发表于 2年前
  • 阅读 7
  • 收藏 0
  • 点赞 1
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: 构造器、方法、隐式参数(this)、显示参数、域访问器
package com.java.bean;

import java.util.Date;
import java.util.GregorianCalendar;

public class Employee
{
    /*
     * 实例域(instance fields)
     */
    private String name;
    private double salary;
    private Date hireDay;
    
    /*功能:将实例化域初始话为所希望的状态
     *构造器(Constructor)——特殊的方法
     *1.构造器与类同名。
     *2.每个类可以有一个以上的构造器。
     *3.构造器可以有0个、1个或 多个参数。
     *4.构造器没有返回值。
     *5.构造器总是伴随着new操作一起调用。
     *
     *构造器与其他方法有一个重要的不同。构造器总是伴随着new操作符的执行被调用。
     *
     *但是不能对一个已经存在的对象调用构造器来达到重新设置实例域的目的。
     *
     *该构造器声明了局部变量name和salary。这些变量只能在构造器内部访问。这些 变量屏蔽了同名的实例域。
     *!!警告:不要在构造器中定义与实例域重名的局部变量。
     */
    public Employee(String n,double s,int year,int month,int day)
    {
        name = n;//不能写作 String name = n;
        salary = s;//不能写作double salary = s;
        GregorianCalendar calendar = new GregorianCalendar(year,month -1,day);
        hireDay = calendar.getTime();
    }
    
    //更改器、访问器(get、set方法)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;//关键字this是隐式参数,即Employee对象。
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    public Date getHireDay() {
        return hireDay;
    }

    public void setHireDay(Date hireDay) {
        this.hireDay = hireDay;
    }
    
    /*方法(method)
     *方法用于操作对象以及存取它们的实例域。
     *raiseSalary方法有两个参数:隐式参数、显示参数
     *隐式参数:出现在方法名前的Employee对象。
     *显示参数:位于方法名后面括号中的数值。
     *在每一个方法中,关键字this表示隐式参数。
     *使用this关键字,可以将实例域与局部变量明显地区分开来(salary是实例域,raise是局部变量)
     */
    public void raiseSalary(double byPercent)
       {
          double raise = this.salary * byPercent / 100;
          this.salary += raise;//salary =salary+raise;
       }
}




共有 人打赏支持
粉丝 7
博文 28
码字总数 8271
×
遇见你
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: