gpt4 book ai didi

Java 图形用户界面和构造函数

转载 作者:行者123 更新时间:2023-11-30 11:06:28 24 4
gpt4 key购买 nike

我对 java 和 gui 有疑问,这一直困扰着我一段时间。下面我发布了一个小代码,我需要你看一下它的构造函数部分。

import java.awt.*;  

class First extends Frame {

First(){
Button b=new Button("click me");
b.setBounds(30,100,80,30);// setting button position
add(b);//adding button into frame
setSize(300,300);//frame size 300 width and 300 height
setLayout(null);//no layout manager
setVisible(true);//now frame will be visible, by default not visible
}

public static void main(String args[]){
First f=new First();
}
}

据我所知,在 main 方法中,我们创建了一个类“First”的对象。我还了解到,当创建一个新对象时,会调用其类的构造函数进行初始化。

我的疑问是我们如何在没有点运算符的情况下使用 setSize、setLayout 和 setVisible 函数?如果这些函数要修改对象,创建对象会触发构造函数调用,那么我们不应该使用 this 指针吗?我们不是一直都是这样做的吗?但是我在互联网上遇到过类似的代码片段,最近真的很困惑。非常感谢任何帮助。

最佳答案

setSizesetLayoutsetVisible方法可以直接使用,因为它们是Frame的成员> 类,而您的First类是Frame 的子类。

从这个意义上讲,您是在 Frame 对象“内部”工作,因此可以直接调用其成员。

您只需要限定来自对象外部的方法调用,这样 Java 就可以知道您正在调用哪个对象。

可以使用 this 显式调用这些方法,即 this.setSize(),但是this是假定的,所以你可以写出更简洁的代码。并非所有语言都这样做 - 例如在 Python 中,您始终需要指定 this(在 Python 中称为 self)

关于Java 图形用户界面和构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29296333/

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