java返回属性_java – 根据对象属性确定哪个枚举返回
我建议你使用简单的继承与不可变对象.
所以,首先你必须创建抽象类:
public abstract class AbstractPerson {
private final String name;
private final Optional nickname;
private final boolean speaksEnglish;
private final PersonType personType;
protected AbstractPerson(final String name, final Optional nickname, final boolean speaksEnglish, final PersonType personType) {
this.name = name;
this.nickname = nickname;
this.speaksEnglish = speaksEnglish;
this.personType = personType;
}
public String getName() {
return name;
}
public Optional getNickname() {
return nickname;
}
public boolean getSpeaksEnglish() {
return speaksEnglish;
}
public PersonType getPersonType() {
return personType;
}
}
使用PersonType枚举:
public enum PersonType {
TypeOne, TypeTwo, TypeThree;
}
现在,我们在子类中有三个选项和相应的构造函数:
public final class EnglishSpeakingPerson extends AbstractPerson {
public EnglishSpeakingPerson(final String name, final String nickname) {
super(name, Optional.of(nickname), true, PersonType.TypeOne);
}
}
public final class Person extends AbstractPerson {
public Person(final String name, final String nickname) {
super(name, Optional.of(nickname), false, PersonType.TypeTwo);
}
public Person(final String name) {
super(name, Optional.empty(), false, PersonType.TypeThree);
}
}
在这种情况下,我们的具体类是不可变的,其类型是在创建时定义的.您不需要创建if-else梯形图 – 如果要创建新类型,只需创建新的类/构造函数.
java返回属性_java – 根据对象属性确定哪个枚举返回相关推荐
- java html对象属性_java中对象属性可以是另外一个对象或对象的参考
7.对象的属性可以是另外一个对象或对象的参考 通过这种方法可以迅速构建一个比较大的系统. class Motor { Light[] lights; Handle left, right; KickS ...
- java自定义注解实现校验对象属性是否为空
前面学习了如何自定义一个注解:java如何优雅的自定义一个注解 下面来实战演示一下如何使用自定义注解做一些实际的功能.比如校验对象属性是否为空. 一.自定义一个NotNull注解 我们自定义一个Not ...
- maya对象属性_了解每粒子属性和每对象属性
可以将两种类型的属性动态添加到"粒子形状"(particle shape)节点: 每粒子 每对象 每粒子属性允许您分别设定对象的每个粒子的属性值.每对象属性允许您通过单个值整体设定 ...
- maya对象属性_Maya2014全面使用手册_了解每粒子属性和每对象属性_软件教程_资源库...
摘要:Maya2014全面使用手册_了解每粒子属性和每对象属性_软件教程_资源库 相关视频教程学习推荐: 造型设计<鹫>造型上色完整流程[实名认证] 5,777人在学 总时长:27h 可以 ...
- java访问对象的属性_java访问对象的属性和行为详细介绍
每一个对象都会有属于自己的属性和行为,下面的文章就对java访问对象的属性和行为做了一下详细的介绍. 对象的属性和行为在类当中体现为成员变量和成员方法,其中成员变量对应对象的属性,成员方法对应对象的行 ...
- java反射可以获得什么属性_java反射获得属性的值
java反射api_IT/计算机_专业资料.java反射教程,深刻理解java反射,反射 聯絡郵箱:zhiyong.tong@ 反射 API 反射 API 表現,或者反射類,接口,和對象在現..... ...
- java 对象的属性_java-更新对象属性
我正在使用Struts 2,我的问题是我不想更新所有对象属性,因为我得到了一些敏感数据. 这是我的代码示例 public class person { private name; private em ...
- Java通用工具类之按对象属性排序工具类
本工具类为按对象属性排序工具类,实现的功能: 1.按对象的一个属性和多个属性进行排序. 2.按对象属性正序和倒序排列. 3.完美支持int等基础类和Integer等包装类. 4.完美支持属性为实现了C ...
- Python OOP:面向对象基础,定义类,创建对象/实例,self,创建多个对象,添加对象属性,访问对象属性,__init__方法,带参数的__init__,__str__方法,__del__方法
一.理解面向对象 面向对象是⼀种抽象化的编程思想,很多编程语⾔中都有的⼀种思想. ⾯向对象就是将编程当成是⼀个事物,对外界来说,事物是直接使用的,不用去管他内部的情况.⽽编程就是设置事物能够做什么事. ...
最新文章
- python 内置方法
- 《JavaScript面向对象精要》——1.8 原始封装类型
- Use pgpool and pgbouncer limit global concurrent SQL Execution
- Kooboo CMS - Html.FrontHtml.Position 详解
- boost::mp11::mp_filter相关用法的测试程序
- Android的DataBinding原理介绍
- 2019CCPC-江西省赛(重现赛)- 感谢南昌大学
- 【ArcGIS风暴】ArcGIS自定义坐标系统案例教程---以阿尔伯斯投影(Albers)为例
- [转]Web Api系列教程第2季(OData篇)(二)——使用Web Api创建只读的OData服务
- python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解
- 有效提升 Virtual Server 2005 R2 with SP1 的速度
- 对于vsftp writable anonymous root问题的解决
- 【Tomcat】Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析
- win10电脑怎么升级安装win11正式版,电脑升级win11的方法
- Postman Request Payload发送请求
- 多图片上传,多文件上传。插件diyUpload.js
- 数字逻辑课程设计(一):数字时钟——logisam模拟实现
- EBS R12中SLA子分类帐与子模块的关联关系
- (SWAT-6)输入表写入及模型运行
- MyBatisPlus 查询selectOne方法
热门文章
- 英语采访问题之:你每天上班的动机是什么?
- SAP CRM one order框架到了S/4HANA后是如何重构的
- class vue 添加图片_vue+element 添加图片组件
- Android学习笔记篇2. 单选按钮、复选按钮
- 计算机中心防雷电安全措施,防雷电有哪些安全措施
- proxy connect abort处理方法_Java代理设计模式(Proxy)的几种具体实现
- java创建一个图片_Java 创建一个简单的验证码图片
- mysql 在时间上加120s_sqlserver日期推算(年,季度,月,星期推算)
- golang语言变量定义、打印、占位符
- Android无需权限保存文件,即使使用用户权限,也无法在外部存储上保存文件[Android]...