使用NON静态类方法无需参考

mah*_*oud 2 java methods static reference object

我是Java的新手.我知道静态和非静态方法的概念.我想知道是否可以使用类的非静态方法而不必创建对它的引用.

例如,对于我的程序,我正在使用Date对象,我需要在其中一个中获取昨天的日期.我知道一种可能的方式如下:

Calendar  cal=  Calendar.getInstance();
cal.add(Calendar.DATE,-1);
Date yesterdayDate = new Date();
yesterdayDate = cal.getTime();
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,而不必创建cal我将在整个程序中只使用一次的引用?

像这样的东西(我知道这绝不是一个正确的语法):

Date yesterdayDate = new Date();

yesterdayDate = Calendar.getInstance().add(Calendar.DATE,-1).getTime();
Run Code Online (Sandbox Code Playgroud)

Men*_*ena 10

如果Calendar遵循一个流畅的构建器模式,即add方法正在添加,然后返回变异的实例,您将能够.

你不是,因为Calendar#add回归void.

但不要被愚弄:Calendar.getInstance() 确实按照指示创建一个实例 - 你只是不将它分配给引用.