文档章节

关于“构造器与方法”

遇见你
 遇见你
发布于 2016/02/03 22:33
字数 503
阅读 12
收藏 0
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;
       }
}




© 著作权归作者所有

共有 人打赏支持
遇见你
粉丝 6
博文 28
码字总数 8271
作品 0
郑州
程序员
Effective Java 研磨之一----关于静态工厂方法的缺点--讨论

最近开始研读Effective Java,刚开始看到的就是关于使用静态工厂(不一定是涉及模式里面的静态工厂模式),里面提到了关于静态工厂的缺点: 静态工厂方法的主要缺点在于,类如果不含有公有的...

挖粪涂墙
2013/08/01
1K
5
ES6Map和Set结构学习笔记

关于Set ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 构造函数 Set 本身是一个构造函数,用来生成 Set 数据结构。 Set 函数可以接受一个数组(或者具...

tiancai啊呆
05/07
0
0
为什么Java实例化子类时会递归调用父类构造方法

下面的代码输出结果会是什么? 答案是 -1.0。 原因在于当实例化子类时会递归调用父类中的构造方法。而这又是为什么呢? 首先,这涉及到Java对象的生命周期。在Java中,对象的生命周期包括以下...

谢随安
2017/10/15
0
0
Spring IoC之Bean管理

Spring对Bean的管理包括Bean的初始化、Bean的注入、Bean的生命周期管理、Bean的作用域管理....等。Spring提供了三种实例化Bean的方式:使用类构造器、使用静态工厂类、使用工厂类;Spring通过...

Mr_YangFei
2016/03/29
69
0
人人都能懂的Vue源码系列(三)—resolveConstructorOptions函数

上篇文章介绍了Vue构造函数的部分实现,如果当前Vue实例不是组件,则执行mergeOptions方法。 关于mergeOptions方法,我们之后的博文会做详细介绍。今天主要来研究resolveConstructorOptions...

淼淼真人
05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

centos7安装rsync及两台机器进行文件同步

centos7安装rsync及两台机器进行文件同步 2017年12月21日 11:17:46 码农下的天桥 阅读数:2210 标签: centosrsync同步 更多 个人分类: 后端 所属专栏: 研发模式及运维 版权声明:本文为博...

linjin200
14分钟前
1
0
jpg、jpeg、png... 的区别

jpg、jpeg、png... 的区别 对于做设计这一行的人来说,这几个图片格式是最常用的,也是最常见的,几乎每一天都要与他们打交道。 刚刚入门的新人通常不知道在什么地方如何使用他们或者说如何更...

DemonsI
33分钟前
4
0
白话SpringCloud | 第十章:路由网关(Zuul)进阶:过滤器、异常处理

前言 简单介绍了关于Zuul的一些简单使用以及一些路由规则的简单说明。而对于一个统一网关而言,需要处理各种各类的请求,对不同的url进行拦截,或者对调用服务的异常进行二次处理等等。今天,...

oKong
38分钟前
2
0
Character的static方法

基本类型char的包装类是Character,使用的比较多,大家是比较熟悉的。 我只是觉得里面有很多static方法,平时不怎么用,学习一下怎么实现的,或许日后就用到了。 static int compare(char x,...

woshixin
51分钟前
1
0
正则介绍_sed

10月17日任务 9.4/9.5 sed sed工具 匹配打印 -n 只打印匹配行,不然其他行也会打印出来 p 打印(配合-n使用) [root@centos7 tmp]# sed -n '/root/'p passwd root:x:0:0:root:/root:/bin/ba...

robertt15
51分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部