盛兴彩票网-五个功能让Java变得更好

全局变量Java中,我们都知道,这只是盛兴彩票网在Java中启用全局变量并摆脱Singletons不是很好。PHP,JavaScript,Ruby和许多其他语言都有它们,为什么不是Java?看看这段代码:

class User {
  private static User INSTANCE;
  private User() {}
  public static User getInstance() {
    synchronized (User.INSTANCE) {
      if (User.INSTANCE == null) {
        User.INSTANCE = new User();
      }
    }
    return User.INSTANCE;
  }
  public String getName() {
    // return user's name
  }
}

然后,要访问它,我们必须使用:

String name = User.getInstance().getName();

这是一个单身人士。看看它有多冗长?我们可以简单地用一个全局变量替换它(盛兴彩票网是我建议我们使用的关键字):

global User user;

接着:

user.getName();

更少的代码编写,方式更易于阅读!

全局函数和命名空间

为了将静态方法组合在一起,我们创建了,我们必须定义私有构造函数以防止实例化。另外,我们必须记住一个静态方法在哪个特定的工具类中。这只是额外的麻烦。我建议我们将全局函数添加到Java和可选的“名称空间”中以对它们进行分组。看看这个工具类:

class TextUtils {
  private TextUtils() {}
  public static String trim(String text) {
    if (text == null) {
      return "";
    }
    return text.trim();
  }
}

现在用一个名称空间来看这个全局函数:

namespace TextUtils {
  String trim(String text) {
    if (text == null) {
      return "";
    }
    return text.trim();
  }
}

我的观点是,既然我们已经在使用类作为函数的集合,盛兴彩票网那么让它更方便。在一些应用程序中,我们甚至不需要命名空间,只需要全局函数,就像在C和C ++中一样。

完全访问私有属性和方法

为了从外部访问私有属性或对象的方法,我们必须使用这并不是特别困难,但它确实需要几行代码,这些代码不容易阅读和理解:

class Point {
  private int x;
  private int y;
}
Point point = new Point();
Field field = point.getClass().getDeclaredField("x");
field.setAccessible(true);
int x = (int) field.get(point);

我建议我们允许任何对象访问另一个对象的任何属性和方法:

Point point = new Point();
int x = point.x;

当然,如果它们是私有的,编译器会发出警告。在编译时,您只需忽略警告并继续。如果你真的关心封装,注意警告并做其他事情。但是在大多数情况下,程序员会忽略它,因为无论如何他们会很乐意使用Reflection API。

让我们用一组不完整的参数调用构造函数和方法是很方便的。我们不提供的参数将默认设置为另外,当一个方法必须返回某个东西,但没语句时,Java应该返回这几乎是它在PHP,Ruby和许多其他语言中的工作原理。我相信这对于Java来说是一个很方便的功能也是开发者。

当一些参数是可选的时,我们不需要定义这么多的方法。非常冗长,盛兴彩票网难以理解。相反,我们应该有一个方法和一长串参数。其中一些将由呼叫者提供,另一些将设置为该方法将决定要做什么,

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.gdjxjy.com.cn/a/shengxing/166.html