gpt4 book ai didi

java - 声明类的实例而不进行实例化和初始化 - 澄清

转载 作者:行者123 更新时间:2023-12-01 18:13:48 30 4
gpt4 key购买 nike

我正在学习与 Java Swing 一起使用的类(class),但我遇到了障碍。在这个项目中,我们正在为不同的组件设置大小,但是,导师特意敲了一行我不太理解的代码,我只是在寻找这行代码概念的解释。

基本上,我知道如何创建类的对象。假设我们想要一个新的扫描仪类。为 Scanner 类创建对象很简单,如下所示:

public class ScannerProgram {

import java.util.Scanner; //Imports Scanner Class

public static void main(String[] args) {

Scanner input = new Scanner(System.in);
// ^ Creates object of the Scanner Type, and calls the "Scanner" constructor.
}

}

在我正在观看的一课中,讲师正在使用扩展 JPanel 的用户创建的类创建自定义组件,我们希望获得首选大小。老师是这样做的:

import java.awt.Dimension; //Imports Dimension class
import javax.swing.JPanel; //Imports JPanel class


public class FormPanel extends JPanel {

public FormPanel() {

Dimension dim = getPreferredSize(); //Question 1
System.out.println(dim); //Prints results
//The result is java.awt.Dimension[width=10,height=10]


}
}

问题1:我想确切地知道这行代码在做什么。我知道您正在声明“Dimension”类型的变量,但之后它会变得困惑,因为您没有调用构造函数。在这种情况下,变量被设置为等于“getPreferredSize()”,我不太确定它在做什么。它是否从 Dimension 类调用特定方法?这是我的猜测,但实际上我一点也不确定。感谢任何愿意阐明这一点的人。

此外,如果需要,请随时更改标题。

最佳答案

getPreferredSize()JPanel(或 JPanel 的父类(super class))的方法,它返回 Dimension 实例。 getPreferredSize() 在由 FormPanel 构造函数构造的实例上调用。

关于java - 声明类的实例而不进行实例化和初始化 - 澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30967491/

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