关于Java语法的一些疑问

我是一个Java初学者,我知道一些基础知识,但是有时候看到几行代码,我不太明白为什么要这样写,下面是我的一些问题。

问题1:

方法或属性与其他方法或属性一起被调用。

例如:System.out.print();

我理解system是一个类,写System.out的时候,是调用 “out “属性,但是从 “out “属性中调用 “print() “方法,print()方法是不是在out属性里面呢,这是怎么一回事。另外有时候我看到方法被这样调用:……method1().method2(); 如果我把一个方法放在另一个方法的作用域内,它不会自动运行吗,比如。

public void method1(){ method2};


问题2:我一直在学习Date和Calendar类,我看到一个视频,这个家伙在那里实例化了Date和Calendar的对象,没有使用世界上的 “new”,也没有使用构造方法。

Date d = Date.from(Instant.parse(“2018-06-25T15:42:07Z”));

Calendar cal = Calendar.getInstance()。

那是如何工作的呢?我可以通过调用一个抽象方法(如果类有的话)来实例化任何类的任何对象吗?还是说在这些方法中,它们只是返回一个Date和Calendar对象?


问题3.为什么一个类型的数组可以有一个抽象方法?

一个数组类型怎么会有 “长度 “这个属性,数组不就是一组基元类型吗? 一个基元类型怎么会有属性?

例:int[] x = new int[3]。

System.out.print(x.length); /打印3。

解决方案:

问题1:

System 有一个类,它有一个字段(通常在Java中,它被称为字段而不是属性。虽然它们是一样的东西),叫做 out. out 属于 PrintStream. 你不必担心什么。printStream 是,但只要知道 printStream 有一个叫做 print. 所以,你访问 System的领域,称为 out你把它叫做 “领域 print 方法。

你可以做这样的事情 method1().method2() 因为 method1 返回一个对象,然后你调用该对象的方法。例如,假设你有一个类,它有一个叫做 print(). 那么如果你有一个这样的方法。

public A getA() {
    return new A();
}

那么如果你调用这个方法,你会得到一个a类。有了这个类,你就可以调用它的方法,访问它的字段。

getA().print();

问题2:如果有一个方法是这样的:那么如果你调用这个方法,你将得到一个a类,你可以调用它的方法并访问它的字段。

就像前面的答案一样,你可以从方法中获取对象。所以,你把你的对象分配给该方法的返回值。例如,如果你有和之前一样的方法。

public A getA() {
    return new A();
}

你可以这样做

A a = getA();

因为它返回一个 A 类型,您将它分配给您的 A.

问题3

Array其实是一种特殊的类型。从技术上讲,它是一个对象,这使得它可以拥有类似于 length然而,你仍然可以使用 array[5] 比如说,我觉得你不应该担心数组,它和常规对象有很大的不同。我认为你不应该担心数组,它与常规对象有很大的不同。

给TA打赏
共{{data.count}}人
人已打赏
未分类

我的天气数据java程序在eclipse中遇到了问题。

2022-9-8 10:49:41

未分类

如何打印涉及indexOf()方法的字母?注意:应该打印一个字母,而不是索引位置[重复]。

2022-9-8 11:00:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索