文档章节

关于“构造器与方法”

遇见你
 遇见你
发布于 2016/02/03 22:33
字数 503
阅读 12
收藏 0
点赞 1
评论 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 ⋅ 5

ES6Map和Set结构学习笔记

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

tiancai啊呆 ⋅ 05/07 ⋅ 0

为什么Java实例化子类时会递归调用父类构造方法

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

谢随安 ⋅ 2017/10/15 ⋅ 0

Spring IoC之Bean管理

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

Mr_YangFei ⋅ 2016/03/29 ⋅ 0

人人都能懂的Vue源码系列(三)—resolveConstructorOptions函数

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

淼淼真人 ⋅ 05/24 ⋅ 0

两种 MVC 模式

本文是《轻量级 Java Web 框架架构设计》的系列博文。 最近有些朋友一直在问我关于 Smart Framework 中 MVC 的问题,为什么和传统的 MVC 不一样? 在传统的 MVC 中,由 Controller 接收请求,...

黄勇 ⋅ 2013/10/17 ⋅ 8

java RTTI 之二

RTT(IRuntime Type Information”的缩写),意思是:运行时类型信息。其对应的类是Class对象,每个java类都对应一个Class对象(在编写并且编译后),这个对象被保存在这个类的同名class文件里。...

gavin_jin ⋅ 2013/05/04 ⋅ 0

编程思想 之「复用类」

温馨提示:本系列博文(含示例代码)已经同步到 GitHub,地址为「java-skills」,欢迎感兴趣的童鞋、,纠错。 提起「复用类」三个字,相信我们脑海中浮现的都是「组合」和「继承」,实际上,...

qq_35246620 ⋅ 2017/12/30 ⋅ 0

Java基本功——初始化与清理

一、搞懂this关键字的来龙去脉 先上一段代码: 我们可以看到 Banana的两个对象a 和 b 都在调用Banana的方法peel(),但是编译器是如何区分究竟是a调用了peel呢?还是b调用的peel呢? 由此,...

KongFanhao ⋅ 2016/07/26 ⋅ 0

从源码一次彻底理解Android的消息机制

新媒体管家 点击上方“程序员大咖”,选择“置顶公众号” 关键时刻,第一时间送达! 情景重现 开头我们就看到了如上的一段简单的伪码。因为这里我试图去还原一种场景,一种可能我们不少人最初...

px01ih8 ⋅ 2017/12/11 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

HiSDP —— 高效的C++软件开发平台

目前阿里集团每天有近1000PB的数据是通过LogAgent采集的,为了让LogAgent做到资源占用节省和高效采集,背后是基于HiSDP去构建的。 缘由 当决定采用C++编程语言去开发一个软件时,紧接着所面临...

阿里云云栖社区 ⋅ 14分钟前 ⋅ 0

zookeeper-3.4.12 下载与安装教程

一、zookeeper下载地址 http://mirrors.hust.edu.cn/apache/zookeeper/ 二、启动教程 把压缩包放在指定目录下 第三: 进入 conf文件夹底下 zoo_sample.cfg 文件名改成 zoo.cfg 第四步: 进入b...

泉天下 ⋅ 16分钟前 ⋅ 0

Oracle 中文日期转换

SELECT TO_date('2011年11月11日', 'yy"年"mm"月"dd"日"') FROM DUAL; 1. Oracle无法识别中文格式,所以添加双引号。 2. 后面的格式是指字符串在转换前的格式,而不是指转换后的格式。...

江戸川 ⋅ 17分钟前 ⋅ 0

MySell:API Spring Boot

起步 类目 商品 订单

BeanHo ⋅ 20分钟前 ⋅ 0

Spring方法拦截器MethodInterceptor

参考资料 1、Spring方法拦截器MethodInterceptor 2、Sharding JDBC源码分析-JdbcMethodInvocation类的作用

哎小艾 ⋅ 23分钟前 ⋅ 0

正则表达式

元字符 元字符,又叫字符集,就是用一些特殊符号表示特定种类的字符或位置。 匹配字符 . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 匹配...

wangchen1999 ⋅ 23分钟前 ⋅ 0

数据库数据导入Elasticsearch案例分享

基于bboss持久层和bboss elasticsearch客户端实现数据库数据导入es案例分享(支持各种数据库和各种es版本) 1.案例对应的源码 https://gitee.com/bboss/bboss-elastic/blob/master/bboss-el...

bboss ⋅ 24分钟前 ⋅ 0

动手---sbt(2)

参考 https://blog.csdn.net/leishangwen/article/details/46225587 建立一个chisel_max目录,文件内容如后面所述,现在开始执行命令: joe@joe-Aspire-Z3730:/media/sdb4/download/scala$ c......

whoisliang ⋅ 30分钟前 ⋅ 0

纯js实现最简单的文件上传(后台使用MultipartFile)

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>XMLHttpRequest上传文件</title> <script type="text/javascript"> //图片上传 var xhr......

孟飞阳 ⋅ 35分钟前 ⋅ 0

iOS宇宙大战游戏、调试工具、各种动画、AR相册、相机图片编辑等源码

iOS精选源码 日期时间选择器,swift Space Battle 宇宙大战 SpriteKit游戏源码 LLDebugTool - 便捷的IOS调试工具(新增截屏功能) 相机扫描or长按识别二维码、FMDB、键盘动态高度、定位等 动画...

sunnyaigd ⋅ 36分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部