我是Java的初学者,我知道一些基本知识,但有时我看到的代码行我不太明白为什么它们是这样写的,下面是一些我有的问题:
问题1:
与其他方法或属性一起调用的方法或属性:
例: System.out.print();
我知道系统是一个类,当您编写System.out时,您是在调用" out“属性,但是从"out”属性调用" print()“方法,在out属性中是print()方法吗?这是怎么回事。此外,有时我看到方法被这样调用:.method1().method2();如果我将一个方法放在另一个方法的范围内,它会自动运行吗?像这样:
公开无效method1(){方法2};
问题2:我一直在学习日期和日历类,我看到了一段视频,视频中,这个人实例化了日期和日历的对象,而没有使用世界上的“新”,也没有一种构造方法:
日期d= Date.from(Instant.parse("2018-06-25T15:42:07Z"));
日历cal = Calendar.getInstance();
那是怎么回事?我可以通过调用抽象方法(如果类有抽象方法)来实例化任何类的任何对象吗?或者,在这些方法中,它们只是返回日期和日历对象吗?
问题3:
一个类型的数组怎么能有一个“长度”,数组不是一组基本类型吗?基元类型如何具有属性??
例: int[] x=新int3;
System.out.print(x.length);//打印3;
发布于 2020-04-23 22:58:23
问题1:
System有一个类,并且它有一个字段(通常在Java中,它被称为字段而不是属性。不过,它们是同样的东西),叫做out。out是PrintStream型的。您不必担心printStream是什么,只需知道printStream有一个名为print的方法。因此,您访问System的字段out,并调用该字段的print方法。
您可以执行像method1().method2()这样的操作,因为method1返回一个对象,并调用该对象方法。例如,假设您有一个类,它有一个名为print()的方法。那么,如果您有这样的方法:
public A getA() {
return new A();
}然后,如果调用该方法,就会得到一个类。有了这个类,您可以调用它的方法并访问它的字段。
getA().print();问题2
与前面的答案一样,您可以从方法中获取对象。因此,将对象赋值给该方法的返回值。例如,如果您有与前面相同的方法:
public A getA() {
return new A();
}你可以:
A a = getA();因为它返回一个A类型,所以将它分配给您的A。
问题3
数组实际上是一种特殊类型。从技术上讲,它是一个对象,允许它拥有像length这样的字段,但是您仍然可以使用array[5]获取元素。我不认为您应该担心数组,它与常规对象非常不同。
https://stackoverflow.com/questions/61398123
复制相似问题