package com.csdn;
interface Animal {
void speak();
}
class Dog implements Animal {
@Override
public void speak() {
System.out.println("dog speak.");
}
}
class Cat implements Animal {
@Override
public void speak() {
System.out.println("cat speak.");
}
}
class Pig implements Animal {
@Override
public void speak() {
System.out.println("pig speak.");
}
}
public class NoIfElse {
// 比方说现在有个需求,
// 通过state状态来判断那种动物叫
// 0让狗叫,1让猫叫,2让猪叫
/**
* 方法1
*/
private void animalSpeak(int state) {
Animal[] animals = { new Dog(), new Cat(), new Pig() };
animals[state].speak();
}
/**
* 方法2,没有用到Animal接口
*/
private void animalSpeak2(int state) {
if (state == 0) {
new Dog().speak();
}
if (state == 1) {
new Cat().speak();
}
if (state == 2) {
new Pig().speak();
}
}
public static void main(String[] args) {
NoIfElse t = new NoIfElse();
int state = 1;
t.animalSpeak(state);
t.animalSpeak2(state);
}
}
java里减少if else的例子
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Android中的工厂模式,目的就是减少if-else和switch-case的出现,梳理代码的条理,使逻辑更加清...
- 如何减少if else的使用? 在公司项目中常常看见很多if else让人很烦多的时候,会让你头疼。 接下来说说我...