广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州什么是Java空对象模式?_北大青鸟IT计算机学校

作者:邓华发布时间:2021-03-30分类:Java技术浏览:810


导读:Java是现在非常主流的编程语言之一,很多人想转行学习IT,首选Java语言。那么,什么是Java空对象模式?下面就让我们一起来看看惠州北大青鸟老师是怎么回答的。

Java是现在非常主流的编程语言之一,很多人想转行学习IT,首选Java语言。那么,什么是Java空对象模式?下面就让我们一起来看看惠州北大青鸟老师是怎么回答的。

在空对象模式中,创建一个无业务对象,包括 null 对象。

我们使用无业务对象来替换空指针检查。

我们称之为一个无业务的对象Null对象。

Null对象在数据不可用时提供默认行为。

在空对象模式中,我们通常创建一个抽象类来指定各种操作。

Null Object和具体类都将扩展这个抽象类。

Null Object类只提供空逻辑。

例子

abstract class AbstractEmployee {   protected String name;   public abstract boolean isNull();   public abstract String getName();
}class Programmer extends AbstractEmployee {   public Programmer(String name) {
     this.name = name;    
  }
  @Override   public String getName() {      return name;
  }
  @Override   public boolean isNull() {      return false;
  }
}class NullCustomer extends AbstractEmployee {
  @Override   public String getName() {      return "Not Available";
  }

  @Override   public boolean isNull() {      return true;
  }
}class EmployeeFactory {   public static final String[] names = {"Rob", "Joe", "Jack"};   public static AbstractEmployee getCustomer(String name){      for (int i = 0; i < names.length; i++) {         if (names[i].equalsIgnoreCase(name)){            return new Programmer(name);
        }
     }      return new NullCustomer();
  }
}public class Main {   public static void main(String[] args) {

     AbstractEmployee emp = EmployeeFactory.getCustomer("Rob");
     AbstractEmployee emp2 = EmployeeFactory.getCustomer("Bob");
     AbstractEmployee emp3 = EmployeeFactory.getCustomer("Jack");
     AbstractEmployee emp4 = EmployeeFactory.getCustomer("Tom");

     System.out.println(emp.getName());
     System.out.println(emp2.getName());
     System.out.println(emp3.getName());
     System.out.println(emp4.getName());
  }
}

上面的代码生成以下结果。

Rob

Not Available

Jack

Not Available

想学Java吗?来惠州北大青鸟新方舟校区学。

Java12.jpg

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表