Static Nested Class有什么用途呢?在普通的项目中用到很少,但是在面试中却经常遇到。
下面说说Static Nested Class有什么用途?
Static Nested Class作为内部类,不需要外部类实例化就可以用。大多数情况下作为外部类的工具类使用(因为不用实例化),下面举个简单的例子:
/**
* 模拟nested class,将字符转成大写
* static nested class
* @author 孙磊
*/
public class CharacterBuilder {
/*
* static nested class,在类中被封装,只能被自己所用
*/
private static class StrUtils{
//将字符转成大写
public static String upper(String oldStr){
return oldStr.toUpperCase();
}
}
//应用static nested class,不必先创建strUtils对象,在调用里面的方法(和inner class的差别就在这里)
private static String upper(String oldStr){
return StrUtils.upper(oldStr);
}
public static void main(String [] args){
CharacterBuilder.upper("oldStr");
}
}