简单Java类是初学java时的一个重要的类模型,一般由属性和getter.setter方法组成,该类不涉及复杂的逻辑运算,仅仅是作为数据的储存,同时该类一般都有明确的实物类型。如:定义一个雇员的类,定义一个教师的类,定义一个工人的类....

简单java类开发要求

  • 注意:如果需要定义多个构造方法,则将构造方法按照参数个数的升序或者降序排列

编写一个简单java类该部门类里面需要包含部门编号 部门名称 部门位置三个核心属性

  //编写一个简单java类
public class Dept{//该类表示部门本身存在意义 private long deptno;//封装部门编号
private String dname;//封装部门名称
private String loc;//封装部门位置
public Dept(){};//必须定义无参构造
public Dept(long deptno,String dname,String loc){
this.deptno=deptno;
this.dname=dname;
this.loc=loc;
}
//类中的属性必须使用setter和getter方法设置和获得
public long getDeptno(){
return this.deptno;
}
public String getDname(){
return this.dname;
}
public String getLoc(){
return this.loc;
}
public void setDeptno(long deptno){
this.deptno=deptno;
}
public void setDname(String dname){
this.dname=dname;
}
public void setLoc(String loc){
this.loc=loc;
}
//输出对象的信息不直接输出 要返回给调用处处理
public String getInfo(){//没有特定说明该方法固定为getInfo()
return"部门编号:"+this.deptno+"部门名称:"+this.dname+"部门位置:"+this.loc;
}
public static void main(String[]args){ Dept de=new Dept(3443,"java进阶编程实战工作室","中国");
System.out.println(de.getInfo());
}
}

简单java类的拓展---带有部分业务逻辑

//编写增强版简单Java类--带有部分业务逻辑
public class Employee{ private String emname;//封装姓名
private long emno;//封装员工编号
private double salary;//封装员工工资
private double rate;//增长额
public Employee(){//必须提供无参构造
this(1000,"无名氏",0.0,0.0); }
public Employee(long emno){
this(emno,"新员工",3000.0,0.01);
}
public Employee(long emno,String emname,double salary){
this(emno,emname,salary,0.05);
}
public Employee(long emno,String emname,double salary,double rate){
this.emno=emno;
this.emname=emname;
this.salary=salary;
this.rate=rate;
}
//必须提供getter setter方法
public long getEmno(){
return this.emno;
}
public String getEmname(){
return this.emname;
}
public double getSalary(){
return this.salary;
}
public double getRate(){
return this.rate;
}
public void setEmno(long emno){
this.emno=emno;
}
public void setEmname(String emname){
this.emname=emname;
}
public void setSalary(double salary){
this.salary=salary;
}
public void setRate(double rate){
this.rate=rate;
}
//输出对象信息用return
public String getInfo(){
return "员工编号:"+this.emno+"员工姓名:"+this.emname+"员工工资:"+this.salary;
}
//进行增长后工资的计算方法
public double salaryValue(){
this.salary=this.salary*(1+this.rate);
return this.salary;
} public static void main(String[]args){
Employee em=new Employee(2455,"张三",10000,0.01);
System.out.println("增长后的薪资为:"+em.salaryValue()); }
}

其实通过这些代码可以发现,当给对象赋值的时候,都没有经过setter函数,其实该处是没有必要经过setter函数的,setter函数主要是对传入属性合理性的判断,我们这里设置的参数,传入的值基本上都可以,在一些特殊的属性 如:年龄,就必须通过setter进行合理性的判断

类的编写模板之简单Java类的更多相关文章

  1. Java基础_0305:简单Java类

    简单Java类 简单Java类是一种在实际开发之中使用最多的类的定义形式,在简单Java类中包含有类.对象.构造方法.private封装等核心概念的使用,而对于简单Java类首先给出如下的基本开发要求 ...

  2. java--分析简单java类与反射的联系

    分析简单java类与反射的联系 web对反射的操作支持 在JSP之中有一种技术--javaBean.而且在jsp里面也配套有相应的操作方式,javaBean的核心在于简单java类,于是下面演示此操作 ...

  3. 进阶Java编程(10)反射与简单Java类

    1,传统属性自动赋值弊端 简单Java类主要由属性构成,并且提供有setter与getter类,同时简单Java类最大的特征就是通过对象保存相应的类属性的内容.但是如果使用传统的简单Java类开发,那 ...

  4. java反射(四)--反射与简单java类

    一.传统简单java类 简单的java类主要是由属性所组成,并且提供有相应的setter以及getter的处理方法,同时简单java类最大的特征就是通过对象保存相应的类的属性内容,但是如果使用传统的简 ...

  5. 菜鸡的Java笔记 简单JAVA 类的开发原则以及具体实现

    /*  现在要求定义一个雇员信息类 在这个类之中包含有雇员编号 姓名 职位 基本工资 佣金等信息    对于此时给定要求实际上就是描述一类事物,而这样的程序类在在java之中可以将其称为简单java类 ...

  6. 编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错

    编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错

  7. JAVA基础学习之路(四)定义简单java类

    简单java类开发一般原则: 类名称必须有意义,再怎么说,要让人家看的明白吧 类之中所有属性必须使用private封装,并提供setter,getter方法 类之中可以有多个构造方法,但是必须保留有一 ...

  8. thymeleaf模板引擎调用java类中的方法(附源码)

    前言 <Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦> 由于开源了项目的缘故,很多使用了My Blog项目的朋友遇到问题也都会联系我去解决 ...

  9. 简单Java类 全网最详细讲解 !!!

    最近学习java非常吃力,学习的进度很快,由于基础没打牢固,整体上项目理解很吃力,偶尔会遇到一些基本的概念,都会阻碍整体的理解.最近也看了不少的视频讲解,听得很迷,最后搞得很乱,没有明确的学习目标,今 ...

随机推荐

  1. Excel 统计函数(五):MINIFS 和 MAXIFS

    MINIFS [语法]MINIFS(min_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) [参数] min ...

  2. 若依3.6.0使用Mybatis-plus分页失效以及完美替换Pagehelper

    一.前言 小编最近在经历后端框架的迁移,虽然不是小编来做,但是有个分页的情况让小编和一个同事去搞. 说一下小编这边的需求: 原来框架使用Mybatis-plus进行分页,要更换的新框架若依是使用Pag ...

  3. 升级CentOS 7 内核版本

    1.查看当前内核版本 $uname -r 3.10.0-957.el7.x86_64 $uname -a Linux prometheus 3.10.0-957.el7.x86_64 #1 SMP T ...

  4. (四连测)滑雪场的高度差题解---二分 + 搜索---DD(XYX)​​​​​​​的博客

    滑雪场的高度差 时间限制: 1 Sec  内存限制: 128 MB 题目描述 滑雪场可以看成M x N的网格状山地(1 <= M,N <= 500),每个网格是一个近似的平面,具有水平高度 ...

  5. SpringBoot 整合 MongoDB 实战介绍

    一.介绍 在前面的文章中,我们详细的介绍了 MongoDB 的配置和使用,如果你对 MongoDB 还不是很了解,也没关系,在 MongoDB 中有三个比较重要的名词:数据库.集合.文档! 数据库(D ...

  6. KingbaseES V8R3 shared_buffer占用过多导致实例崩溃

    背景 有这样一个案例.客户备库意外宕机,从集群日志只看出发生了主备切换,备库一直持续恢复备库没有成功,从数据库日志看到如下报错: terminating connection because of c ...

  7. haodoop新特性

    Hadoop2.x新特性 scp实现两个远程主机之间的文件复制 scp -r hello.txt root@hadoop103:/user/atguigu/hello.txt // 推 push sc ...

  8. .NET WebAPI 自定义 NullableConverter 解决请求入参 “”空字符触发转换异常问题

    最近在项目中启用了Nullable 可为空的类型,这个特性确实很好用,在 WebAPI 的入参上可以直接采用 ? 来标记一个字段是否允许为空,但是使用过程中遇到了如下一个问题,比如创建部门接口 我们定 ...

  9. 【疑难杂症】if __name__ == '__main__'的理解

    今天进行小批量梯度下降时,代码给我报错,具体代码如下 import torch import numpy as np from torch.utils.data import Dataset from ...

  10. 【Ceph】Ceph学习理解Ceph的三种存储接口:块设备、文件系统、对象存储

    文章转载自:https://blog.51cto.com/liangchaoxi/4048519