当前位置:首页 >资讯 > 正文

每日短讯:砖家建议:努力降低 Java 入门难度?!
2023-04-22 06:17:55    程序员鱼皮
大家好,我是鱼皮。就在前几天,OpenJDK 又更新了一波提案。其中的 JEP 445 提案很有意思 —— 正在努力简化 Java 的入门难度。
这个提案主要是引入 “灵活的 Main 方法和匿名 Main 类” ,希望 Java 的学习过程能更平滑,让学生和初学者能更好地接受 Java 。
提案的作者 Ron Pressler 解释:现在的Java 语言非常适合开发和维护大型复杂应用程序,但学校在教编程时往往会从变量、函数和子程序等基本的小型编程概念开始,在这个阶段,往往不需要类、包和模块的大型编程概念。但现在的 Java 对初学者不太友好,比如经典的 Hello, World! 入门程序 :
public static void main(String[] args) { System.out.println("Hello, World!"); }}
Ron 认为,作为新手入门的第一个程序,这段代码太复杂了。比如 class声明和强制性的 public访问修饰符是大型编程结构,它们在封装具有定义良好的外部组件接口的代码单元时很有用,但在这个入门小示例中毫无意义。String [] args 参数用于将代码与外部组件连接起来,但在这段代码里面不会被使用。static 修饰符是 Java 类和对象模型的一部分,但在新手村出现也为时尚早。
作为优化,该提案首先增强了启动 Java 程序的协议灵活性:

允许已启动类的 main 方法具有 public 、 protected 或默认(即包)访问权限。

如果启动的类不包含带 String [] 参数的 static main 方法,但包含不带参数的 static main 方法,则调用该方法。

如果启动的类没有 static main 方法,但有一个非 private 零参数构造函数(即 public 、 protected 或包访问)和一个非 private 实例 main 方法,然后构造该类的一个实例。如果该类有一个带 String [] 参数的实例 main 方法,则调用该方法;否则,不带参数调用实例 main 方法。


(资料图片仅供参考)

如此一来便允许省略 main方法的 String[]参数,并允许 main方法既不是 public也不是 static。可以稍微简化 Hello, World! :
void main()
此外,还要引入匿名 Main 类来隐式声明 class
void main()
到这里 Java 的 Hello, World! 入门程序已经到了简化,但在 Ron 眼里,该 JEP 提供的优化只是使 Java 更易于学习的第一步,像 System.out.println 这种长方法 / 函数也是需要简化的地方,不过这些问题需要在未来的 JEP 提案中逐步解决。
该优化属于预览语言功能,默认禁用。要在 JDK 21 中尝试该示例,必须启用预览功能:用 javac --release 21 --enable-preview Main.java编译程序,用 java --enable-preview Main运行;或者使用源代码启动器时,使用 java --source 21 --enable-preview Main.java运行程序。
有关灵活的启动协议和匿名 main 类的更多信息,可以在提案正文中详阅(https://openjdk.org/jeps/445)。

提案目标

为 Java 提供平滑的入口,方便教育工作者可以循序渐进地介绍编程的概念。

帮助学生以简洁的方式编写基本入门程序,并随着其 Java 技能增长,优雅地扩展代码。

减少编写简单程序(例如脚本和命令行实用程序)的仪式。

不要单独介绍 Java 的初学者方言。

不引入单独的初学者工具链;编译和运行学生的程序,使用的工具应该和生产环境的 Java 程序相同。

相关链接: https://openjdk.org/jeps/445

原文链接:https://www.oschina.net/news/236836/jep-445原文编辑:罗奇奇

出品 | OSC开源社区(ID:oschina2013)

欢迎学编程的朋友们加入鱼皮的,鱼皮会 1 对 1 解决你的问题,直播带你做出项目、为你定制学习计划和求职指导,还能获取海量编程学习资源,和上万名学编程的同学共享知识、交流进步。一起加油!

往期推荐

关键词:

下一篇:
上一篇:

每日短讯:砖家建议:努力降低 Java 入门难度?!

圣牧牛奶好喝吗_圣牧纯牛奶怎么样-每日热点

2023中国(河北)安全应急博览会开幕 160余家企业参展

怎样用电脑黑进别人手机_如何用电脑黑进别人的手机

每日观点:迪巴拉绝平续命,罗马4-1晋级四强!穆帅纳投名状,巴黎下定决心

世界微速讯:淮安(上海)春季现代农业推介暨优质农产品展销会在沪举行

天天热资讯!小刀汇竞彩足球推荐:巴黎扩大领先优势?

天天播报:“东数”实现“西算”要迈几道坎

斯特利戈夫_关于斯特利戈夫简介_天天要闻

天天要闻:上海浦东以首创性改革助高质量发展

湘西州多举措推动消防工作高质量发展

压死骆驼的往往都是最后一根稻草下一句_压死骆驼的最后一根稻草是什么意思

焦点速读:aiden ashley

精选!创胜集团-B(06628)4月21日回购6000股

每日热闻!普华科技2022年净利2880.77万同比下滑21.29% 业务拓展及项目交付不及预期

恐惧新星德莱厄斯估价(恐惧新星德莱厄斯视频)_世界聚焦

快讯:拓维信息跌停 报于14.13元

今日寄快递如何代收货款(快递代收货款是怎么回事我寄出去东西要怎么才能拿到钱) 环球观察

夜鳞鱼在哪里钓怀旧服_夜鳞鱼汤图纸

环球快播:怀孕男孩一个月的症状_怀男孩头一个月的症状

世界快资讯:大米批发价钱_大米批发价格一斤多少

【全球速看料】学习技巧和学习方法_学习技巧

富瑞:维予中国移动(00941)“买入”评级 目标价85.68港元

misjudge是什么意思_misjudge

热文:中国有色金属工业协会硅业分会:本周国内工业硅价格弱稳运行 冶金级主流价格在15600-16200元/吨

世界快看点丨4月21日移动支付板块跌幅达2%

全球播报:美国银行向欧盟转移资产 纸黄金小幅收涨

中俄、中蒙草原边境火已得到控制 森林消防队伍持续巡护扑救

内蒙古气候中心展开白塔国际机场雷电防护设备检测 这也奇葩了!_前沿资讯

华为宣布突破ERP系统封锁 任正非孟晚舟发声_世界快资讯

西药德巴金的副作用_德巴金副作用有哪些 环球时快讯

硬笔书法考级报名官网2021_硬笔书法考级报名官网

既拼速度又拼耐力!秋千,“娘子军”的空中“独舞” 简讯

澳大利亚昆士兰旅游业高层代表团到访广州|全球视讯

大禹节水:城市供水各类标准的出台和执行,将有利于推动包括城乡供水、农村饮用水在内的各类供水设施改造,有利于公司安全饮水业务开展以及计量检测设备、智能化水表、输水管材等核心产品将会引来新的增量市场

【世界聚看点】米饭蒸多久就可以熟了 蒸饭一般要多久才能熟