类的编写模板之简单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非常吃力,学习的进度很快,由于基础没打牢固,整体上项目理解很吃力,偶尔会遇到一些基本的概念,都会阻碍整体的理解.最近也看了不少的视频讲解,听得很迷,最后搞得很乱,没有明确的学习目标,今 ...
随机推荐
- Java SE 12 新增特性
Java SE 12 新增特性 作者:Grey 原文地址:Java SE 12 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- wbr 文本换行规则标签
<wbr/>标签规定在文本中的何处适合添加换行符.如果文本太长,浏览器可能会在错误的位置换行,那么可以使用<wbr/>标签来添加单词换行时机. Talk is cheap. S ...
- CF1511G Chips on a Board (倍增)
题面 原题题面 转化方便版题意: 有 n n n 堆石子,第 i i i 堆有 c i ∈ [ 1 , m ] c_i\in [1,m] ci∈[1,m] 个石子,有 q q q 次询问,每次询问给 ...
- Mybatis-Plus使用@TableField实现自动填充日期
一.前言 我们在日常开发中经常使用ORM框架,比如Mybatis.tk.Mybatis.Mybatis-Plus.不过最广泛的还是Mybatis-Plus,我们的一些表,都会有创建时间.更新时间.创建 ...
- 08_Linux基础-vim-tmux-字符编码
@ 目录 08_Linux基础-vim-tmux-字符编码 一. vim vim编辑器作用 vim模式 vim命令模式 vim编辑模式 vim末行模式 vim视图模式 vim替换模式 练习 vim常用 ...
- 【读书笔记】C#高级编程 第二十一章 任务、线程和同步
(一)概述 所有需要等待的操作,例如,因为文件.数据库或网络访问都需要一定的时间,此时就可以启动一个新的线程,同时完成其他任务. 线程是程序中独立的指令流. (二)Paraller类 Paraller ...
- OpenCV读写视频操作
一.读取视频流 在使用OpenCV读取摄像头,或者处理一些磁盘中保存的视频文件时,通常使用VideoCapture进行读取. std::string video_path("/path/to ...
- 微服务系列之授权认证(一) OAuth 2.0 和 OpenID Connect
1.传统架构的授权认证 传统应用架构,用户使用账号密码登录后,可以使用前端cookie存储登录状态,也可以使用后端session方式存储登录状态,小应用这么做其实很高效实用,当应用需要横向扩展时,就需 ...
- Windows Server体验之升级安装
由于Windows Server的版本是每半年更新的,而微软对于产品的支持周期又是有限的.比如Windows Server 1803的主流支持只到2019年11月12日.也就是说,最多1年半,就需要更 ...
- 单台主机MySQL多实例部署
二进制安装mysql-5.7.26 [root@mysql ~]# cd /server/tools/ [root@mysql tools]# ll total 629756 -rw-r--r-- 1 ...