类的编写模板之简单Java类
简单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类的更多相关文章
- Java基础_0305:简单Java类
简单Java类 简单Java类是一种在实际开发之中使用最多的类的定义形式,在简单Java类中包含有类.对象.构造方法.private封装等核心概念的使用,而对于简单Java类首先给出如下的基本开发要求 ...
- java--分析简单java类与反射的联系
分析简单java类与反射的联系 web对反射的操作支持 在JSP之中有一种技术--javaBean.而且在jsp里面也配套有相应的操作方式,javaBean的核心在于简单java类,于是下面演示此操作 ...
- 进阶Java编程(10)反射与简单Java类
1,传统属性自动赋值弊端 简单Java类主要由属性构成,并且提供有setter与getter类,同时简单Java类最大的特征就是通过对象保存相应的类属性的内容.但是如果使用传统的简单Java类开发,那 ...
- java反射(四)--反射与简单java类
一.传统简单java类 简单的java类主要是由属性所组成,并且提供有相应的setter以及getter的处理方法,同时简单java类最大的特征就是通过对象保存相应的类的属性内容,但是如果使用传统的简 ...
- 菜鸡的Java笔记 简单JAVA 类的开发原则以及具体实现
/* 现在要求定义一个雇员信息类 在这个类之中包含有雇员编号 姓名 职位 基本工资 佣金等信息 对于此时给定要求实际上就是描述一类事物,而这样的程序类在在java之中可以将其称为简单java类 ...
- 编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错
编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错
- JAVA基础学习之路(四)定义简单java类
简单java类开发一般原则: 类名称必须有意义,再怎么说,要让人家看的明白吧 类之中所有属性必须使用private封装,并提供setter,getter方法 类之中可以有多个构造方法,但是必须保留有一 ...
- thymeleaf模板引擎调用java类中的方法(附源码)
前言 <Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦> 由于开源了项目的缘故,很多使用了My Blog项目的朋友遇到问题也都会联系我去解决 ...
- 简单Java类 全网最详细讲解 !!!
最近学习java非常吃力,学习的进度很快,由于基础没打牢固,整体上项目理解很吃力,偶尔会遇到一些基本的概念,都会阻碍整体的理解.最近也看了不少的视频讲解,听得很迷,最后搞得很乱,没有明确的学习目标,今 ...
随机推荐
- MySQL数据库授权的两种方式
方法一:grant命令创建用户并授权(针对只修改权限) grant命令简单语法如下: grant all privileges on dbname.* to username@localhost id ...
- [HFCTF2020]EasyLogin-1|JWT身份伪造
1.打开之后只有一个登陆界面和注册界面,右键检查发现app.js代码,结果如下: app.js代码如下: /** * 或许该用 koa-static 来处理静态文件 * 路径该怎么配置?不管了先填个根 ...
- redis-hash命令
一.HDEL key field [field ...] 从 key 指定的哈希集中移除指定的域.在哈希集中不存在的域将被忽略. 如果 key 指定的哈希集不存在,它将被认为是一个空的哈希集,该命令将 ...
- Sirni题解(最小生成树,埃氏筛)(继 Liang-梁)
目录 前言 题意 思路 一些建议 前言 本篇是对Liang-梁的Sirni(最小生成树,埃氏筛)的后继博客. 通篇原文:https://blog.csdn.net/qq_37555704/articl ...
- n【c#】委托:delegate 学习笔记
类似于c/c++的指针,只不过c#的委托存储的是某个方法的调用,派生子System.Delegate
- pod资源的健康检查-liveness探针的exec使用
使用探针的方式对pod资源健康检查 探针的种类 livenessProbe:健康状态检查,周期性检查服务是否存活,检查结果失败,将重启容器 readinessProbe:可用性检查,周期性检查服务是否 ...
- 第四十九篇:webpack的基本使用(三) --安装和配置html-webpack-plugin插件
好家伙, 1.html-webpack-plugin的作用 讲一下为什么需要这个插件 存在问题:在点开locahost:8080之后出现的是项目的根目录,而不是网页 这时候需要再点开scr文件夹才能看 ...
- Golang实现set
背景 Golang语言本身未实现set,但是实现了map golang的map是一种无序的键值对的集合,其中键是唯一的 而set是键的不重复的集合,因此可以用map来实现set Empty 由于map ...
- 在Windows Server 2019上安装edge浏览器
在Windows 2016和2019的正式版本中是不带Edge浏览器的.有些工具.网站也不支持IE浏览器了.对于偶尔需要在服务器上访问这些站点的管理员来说有些不方便.不过可以通过安装三方浏览器或者Ed ...
- Elastic App Search 入门
官方文档地址:https://swiftype.com/documentation/app-search/getting-started Elastic App Search 架构图: 它的特点是帮助 ...