gpt4 book ai didi

Java 类方法

转载 作者:行者123 更新时间:2023-12-01 11:27:49 26 4
gpt4 key购买 nike

类方法问题:根据 D. Flanagan,Java in a Nutshell,5 edn,第 102-103 页,类方法可以从任一 i) 方法类外部现有的代码、标准范例或来自 ii) 在定义类方法的类本身内部。在这里,我相信标准的 oo 编程范例是将 System.out.println 语句放在类 T 方法 prt() 中,然后声明一个新的 T 对象,例如 t1,并使用从外部类调用的 t1.prt() 方法,主要:

class T {
int x = 4, y = 5;

public static void prt(int x0, int y0) {

System.out.println("T class ending: x= " + x0 + ", y=" + y0);
}
// <---- this is where an extra statement gets inserted
}

class S extends T {
int m = 10;
int n = m + x + y;

public void prs() {
System.out.println("S subclass ending: m = " + m + ", n=" + n);
}
}

public class A {
public static void main(String[] args) {

System.out.println("****Program start");
System.out.print("main method: ");
T t1 = new T();
t1.prt(3, 4);
S s1 = new S();
System.out.println(s1.m);
System.out.println(s1.n);
s1.prs();
System.out.println("****Program ending");
}
}

但是,当我要求执行 Flanagan 所说的可能的操作时,从定义了 CLASS METHOD 的类 T 中调用类方法,我再次收到原始编译错误,即“需要一个标识符”。也就是说,在类 T 代码末尾插入以下语句,如上所示(*),会出现编译错误:

T.prt(3,4);

为什么这是一个错误?我的问题询问的是一般的类方法,而不是特殊的类方法,即构造函数,尽管我引用的 Java 引用文本确实涉及一般的类方法。我错过了一些明显的东西吗?我最诚挚的感谢,纽瓦克的理查德·潘

最佳答案

That is, inserting the following statement at the end of class T code, as shown above(*), gives a compiLe error:

您只能在方法内编写代码。在方法外部,您只能定义字段,这正是它所期望的。

Am I missing something obvious?

我使用 IDE 来格式化代码(顺便说一句,这是一键按下),问题变得显而易见。如果您不格式化代码,则会使其更难以阅读和理解。

关于Java 类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30674106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com