当前位置:新闻中心行业动态 → 正文

也许有了这5个特性, Java能重归巅峰?

责任编辑:editor006 作者:三文鱼  |来源:企业网D1Net  2017-11-10 16:04:46 本文摘自:it168网站

Yegor Bugayenko称,他偶然受到了Brian Goetz关于Java中数据类提议的启发,立即意识到自己也有一些关于如何使Java成为更好语言的想法。其中,以下这五个最重要的。

全局变量

Java中有单例,这大家都知道。如果能在Java中启用全局变量并摆脱单例对象,这不是很好么。PHP,JavaScript,Ruby和许多其他语言都有,为什么Java没有?看看这个代码: 也许有了这5个特性, Java能重归巅峰?

这是一个单例,但是它很冗长。可以简单地用一个全局变量替换它:也许有了这5个特性, Java能重归巅峰?

  编写更少的代码,阅读起来更容易!

全局函数和命名空间

为了将静态方法组在一起,我们创建了工具类,必须定义私有构造函数来防止它们实例化。另外,还必须记住静态方法所在的特定工具类中,这样的方法一点都不高效。Yegor Bugayenko建议我们将全局函数添加到Java和可选的“名称空间”来对它们进行分组。 看看这个工具类:也许有了这5个特性, Java能重归巅峰?

Yegor Bugayenko的观点是,既然已经在使用类作为函数的集合了,那么就让它更方便一些。在一些应用程序中,我们甚至不需要命名空间,只需要全局函数,例如C或者C ++。

完全访问私有属性和方法

为了从外部访问私有属性或对象的方法,我们必须使用Reflection API。这并不是特别困难,但它需要的这些代码却不容易阅读和理解:也许有了这5个特性, Java能重归巅峰?

Yegor Bugayenko建议,允许任何对象访问另一个对象的任何属性和方法:也许有了这5个特性, Java能重归巅峰?

当然,如果它们是私有的,编译器会发出警告。在编译时,您只需忽略警告并继续工作。

默认为NULL

可以用不完整的参数来调用构造函数和方法。默认情况下,我们不提供的参数将默认被设置为null。另外,当一个方法必须有返回值时,但是没有返回语句时,Java应该返回null。这几乎就是它在PHP,Ruby和许多其他语言中的工作原理。

当一些参数是可选的时,我们不需要定义这么多的方法。方法重载非常冗长,而且难以理解。相反,应该有一个具有参数列表的方法。其中一些将由调用者提供,另一些将被设置为空。该方法将决定要做什么,例如:也许有了这5个特性, Java能重归巅峰?

然后调用save(f)或save(f,“UTF-16”)。 该方法将更方便,就像在Ruby中一样,通过名称提供方法参数:也许有了这5个特性, Java能重归巅峰?

另外,当没有返回值时,该方法必须默认返回null。写入返回null是浪费时间的,这并不能真正提高可读性:也许有了这5个特性, Java能重归巅峰?

从这段代码中可以明显看出,如果文件存在,该方法将加载并返回其内容。如果不是,则返回null,这对于调用者来说是一个很好的指示器。

getter和setter

显而易见,我们需要这个特性:每个私有属性都必须自动拥有setter和getter。不需要去创建,就像Kotlin和Ruby一样,Java应该提供。如果没有getter和setter来读取并修改,那么又有什么意义呢?

有了这个新功能,就不再需要Lombok或IntelliJ IDEA的辅助。

关键字:全局变量实例化Kotlin

本文摘自:it168网站

x 也许有了这5个特性, Java能重归巅峰? 扫一扫
分享本文到朋友圈
当前位置:新闻中心行业动态 → 正文

也许有了这5个特性, Java能重归巅峰?

责任编辑:editor006 作者:三文鱼  |来源:企业网D1Net  2017-11-10 16:04:46 本文摘自:it168网站

Yegor Bugayenko称,他偶然受到了Brian Goetz关于Java中数据类提议的启发,立即意识到自己也有一些关于如何使Java成为更好语言的想法。其中,以下这五个最重要的。

全局变量

Java中有单例,这大家都知道。如果能在Java中启用全局变量并摆脱单例对象,这不是很好么。PHP,JavaScript,Ruby和许多其他语言都有,为什么Java没有?看看这个代码: 也许有了这5个特性, Java能重归巅峰?

这是一个单例,但是它很冗长。可以简单地用一个全局变量替换它:也许有了这5个特性, Java能重归巅峰?

  编写更少的代码,阅读起来更容易!

全局函数和命名空间

为了将静态方法组在一起,我们创建了工具类,必须定义私有构造函数来防止它们实例化。另外,还必须记住静态方法所在的特定工具类中,这样的方法一点都不高效。Yegor Bugayenko建议我们将全局函数添加到Java和可选的“名称空间”来对它们进行分组。 看看这个工具类:也许有了这5个特性, Java能重归巅峰?

Yegor Bugayenko的观点是,既然已经在使用类作为函数的集合了,那么就让它更方便一些。在一些应用程序中,我们甚至不需要命名空间,只需要全局函数,例如C或者C ++。

完全访问私有属性和方法

为了从外部访问私有属性或对象的方法,我们必须使用Reflection API。这并不是特别困难,但它需要的这些代码却不容易阅读和理解:也许有了这5个特性, Java能重归巅峰?

Yegor Bugayenko建议,允许任何对象访问另一个对象的任何属性和方法:也许有了这5个特性, Java能重归巅峰?

当然,如果它们是私有的,编译器会发出警告。在编译时,您只需忽略警告并继续工作。

默认为NULL

可以用不完整的参数来调用构造函数和方法。默认情况下,我们不提供的参数将默认被设置为null。另外,当一个方法必须有返回值时,但是没有返回语句时,Java应该返回null。这几乎就是它在PHP,Ruby和许多其他语言中的工作原理。

当一些参数是可选的时,我们不需要定义这么多的方法。方法重载非常冗长,而且难以理解。相反,应该有一个具有参数列表的方法。其中一些将由调用者提供,另一些将被设置为空。该方法将决定要做什么,例如:也许有了这5个特性, Java能重归巅峰?

然后调用save(f)或save(f,“UTF-16”)。 该方法将更方便,就像在Ruby中一样,通过名称提供方法参数:也许有了这5个特性, Java能重归巅峰?

另外,当没有返回值时,该方法必须默认返回null。写入返回null是浪费时间的,这并不能真正提高可读性:也许有了这5个特性, Java能重归巅峰?

从这段代码中可以明显看出,如果文件存在,该方法将加载并返回其内容。如果不是,则返回null,这对于调用者来说是一个很好的指示器。

getter和setter

显而易见,我们需要这个特性:每个私有属性都必须自动拥有setter和getter。不需要去创建,就像Kotlin和Ruby一样,Java应该提供。如果没有getter和setter来读取并修改,那么又有什么意义呢?

有了这个新功能,就不再需要Lombok或IntelliJ IDEA的辅助。

关键字:全局变量实例化Kotlin

本文摘自:it168网站

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^