简单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表格操作

    爬虫简介与excel表格操作 re模块简介 1.在python中使用正则表达式的话那么re模块就是选择之一 import re # 导入re模块 2.在re模块中使用findall找到所有我们给他的值 ...

  2. iOS影视应用+全网视频下载

    又一个新的iOS影视伪装 打开软件连续点击3次列表,然后关闭重新打开即可变身,无广告全免费高画质,还有电视直播 下载地址:https://apps.apple.com/cn/app/贴画壁纸/id16 ...

  3. XYX错误集

    (频数递减) # 数据范围:没开Long Long (*inf^2) # while 打成了 if ,if 打成了 while(*inf^2) # 换根DP:两个dfs调用错误 (*inf) # ZK ...

  4. 【c语言学习】1 基础环境安装调试

    1-1下载 vs2019 vs2019下载链接https://visualstudio.microsoft.com/zh-hans/vs/community/ 1-2安装配置环境 记得勾选上c++开发 ...

  5. Windows编程之线程同步

    本笔记整理自:<Windows核心编程(第五版)> 目录 什么是线程同步 用户方式中的线程同步 原子访问:Interlocked系列函数 CRITICAL_SECTION:关键段 内核对象 ...

  6. 华南理工大学 Python第6章课后测验-2

    1.(单选)以下关于语句 a = [1,2,3,(4,5)]的说法中,正确的个数有( )个.(1)a是元组类型   (2)a是列表类型  (3)a有5个元素      (4)a有4个元素(5)a[1] ...

  7. keycloak~资源的远程授权

    17.1远程资源授权准备 17.1.1认证和访问流程图 参考:http://www.zyiz.net/tech/detail-141309.html 17.1.2为用户指定角色 可以使用ROLE_US ...

  8. 使用 Loki 微服务模式部署生产集群

    转载自:https://mp.weixin.qq.com/s?__biz=MzU4MjQ0MTU4Ng==&mid=2247500523&idx=1&sn=0994af2b50 ...

  9. Elasticsearch:Pinyin 分词器

    Elastic的Medcl提供了一种搜索Pinyin搜索的方法.拼音搜索在很多的应用场景中都有被用到.比如在百度搜索中,我们使用拼音就可以出现汉字: 对于我们中国人来说,拼音搜索也是非常直接的.那么在 ...

  10. centos7.9使用yum方式安装MongoDB 5.x

    1.配置阿里云yum仓库 #vim /etc/yum.repos.d/mongodb-org-5.0.repo [mngodb-org] name=MongoDB Repository baseurl ...