java程序,在main函数中new 构造函数怎么理解?

package com.tz.java;
import javax.swing.JFrame;
public class PlaneJFream extends JFrame {
	/*
	 * 窗口的初始化
	 * 构造函数
	 */
	public PlaneJFream(){
		// 窗口的标题
		this.setTitle("雷霆战机");
		// 设置窗口的大小
		this.setSize(640,700);
		// 显示窗口
		this.setVisible(true);
	}
	// 主函数 
	public static void main(String[] args) {
	        // 此处的函数怎么理解?????
		new PlaneJFream();
	}
}

main函数中的 new PlaneJFream() 怎么理解?有点转不过来弯了,不应该是PlaneJFream pj = new PlaneJFream()吗?


陈默有言
浏览 4393回答 6
6回答

bbkxm

PlaneJFream pj = new PlaneJFream();new PlaneJFream()指的是你创建了一个PlaneJFream对象PlaneJFream pj 指的是你定义了一个PlaneJFream类型的变量指向new PlaneJFream()对象所在的堆空间地址如果你只想创建一个对象,则不需要PlaneJFream pj 

三十文

这个地方创建了一个对象,但是并没有创建引用对象,可以说是一个匿名对象。对象创建的同时,会调用它的构造方法,如果你在PlaneJFream类的构造方法里输出语句:System.out.println("hello");在控制台是会进行输出的。

夏Jue

所谓面向对象,new 类名()返回的实例就是一个对象,new PlaneJFream();返回的就是一个PlaneJFream类的实例,可以 用PlaneJFream 类型的引用去接收这个实例,即PlaneJFream pj=new PlaneJFream();所谓引用,完全可以把它理解为一个指针变量,它指向内存中new出的实例,从而操作它,不必太过于纠结这东西,面向对象拿到对象就好说话了有了对象,也不一定要去接收,可以直接传递,比如用得最多的匿名类:比如Frame frame=new Frame(); frame.add(new Label("Label-1..."));这里给frame添加了一个标签对象,但是这里就没有拿到它的引用而直接传递,因为如果不需要的话我们一般都会这么做的

慕粉4065503

匿名对象,只使用一次就销毁

JustWannaHugU

匿名对象么,只使用一次就销毁

非主流1

创建的匿名对象,因为没有对应类型的申明变量,使用一次就销毁
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java