【发布时间】:2020-08-07 10:07:15
【问题描述】:
我是 Java 的初学者,我知道一些基础知识,但有时我会看到一些我不太明白为什么要这样写的代码,这里有一些问题:
问题一:
与其他方法或属性一起调用的方法或属性:
例如:System.out.print();
我理解system是一个类,当你写System.out时,你调用的是“out”属性,但是从“out”属性中,你调用了“print()”方法,就是print( ) out 属性中的方法?这是如何工作的。 有时我也会看到这样调用方法: ... method1().method2(); 如果我将一个方法放在另一个方法的范围内,它不会自动运行吗? 喜欢:
public void method1(){ 方法 2};
问题 2: 我一直在学习 Date 和 Calendar 类,我看到了一个视频,其中那个家伙实例化了 Date 和 Calendar 的对象,没有使用“新”世界,也没有使用构造方法:
日期 d = Date.from(Instant.parse("2018-06-25T15:42:07Z"));
日历cal = Calendar.getInstance();
它是如何工作的?我可以通过调用抽象方法(如果类有一个)来实例化任何类的任何对象吗?还是只是在那些方法中它们返回了 Date 和 Calendar 对象?
问题 3:
类型数组如何具有属性“长度”,数组不只是一组原始类型吗?原始类型如何具有属性??
例如:int[] x = new int[3];
System.out.print(x.length); //打印3;
【问题讨论】:
-
第一季度。
System.out是PrintStream- 第一种形式称为 fluent interface。该方法返回this,因此它可以与其他方法链接。 Q2。创造模式。 Factory、Builder 等。另外,不要使用Date或Calendar。它们早已过时。请参阅java.time包。 Q3。数组总是引用Object x = new int[3];和System.out.println(Array.getLength(x));PS 问一个问题,我没有房间了。 -
我一直在学习 Date 和 Calendar 类…… 别了。别。这些课程设计不良且早已过时。您的代码行之一中使用的
Instant类来自java.time, the modern Java date and time API。我是与这个现代 API 中的其他类一起使用的人。 -
@OleV.V.我在第二季度末开始这么说。耻辱OP添加了很多问题。我的房间用完了。