当前位置:  技术问答>java相关

新手问题:关于new的问题?

    来源: 互联网  发布时间:2015-06-27

    本文导语:  请一个new的问题,关于以下两个定义的区别: 局部的code: String response2 = JOptionPane.showInputDialog(null,"Enter the site address:");         address = new JTextField(response2, 20);  1. address = new JTextField(response2, 20)  2. JTex...

请一个new的问题,关于以下两个定义的区别:
局部的code:

String response2 = JOptionPane.showInputDialog(null,"Enter the site address:");
        address = new JTextField(response2, 20);

 1. address = new JTextField(response2, 20)
 2. JTextField address = new JTextField(response2, 20)

 对于这两个定义,我有点confused,我对它们的理解是:
 1.是生成一个指向JTextField内容的JTextField指针。如:我输入到的text为”109,天河路“,那它就是生成一个指向这个text的指针
 2.定义一个JTextField的对象-address,存储输入的内容。引上例:即是生成一个JTextField对象,用来存放”109,天河路“

 区别在于:内存损耗的多少,指针当然省点了。

 如果,我的理解不对,那应是如何呢?请指教。

 还有,两者在程序中都可运行正常,表面没区别。

 以下是完整的程序,取自"21天学java"
import java.awt.GridLayout;
import java.awt.event.*;
import javax.swing.*;

public class Info extends JFrame {
    private JLabel titleLabel = new JLabel("Title: ",
        SwingConstants.RIGHT);
    private JTextField title;
    private JLabel addressLabel = new JLabel("Address: ",
        SwingConstants.RIGHT);
    private JTextField address;
    private JLabel typeLabel = new JLabel("Type: ",
        SwingConstants.RIGHT);
    private JTextField type;

    public Info() {
        super("Site Information");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // Site name
        String response1 = JOptionPane.showInputDialog(null,
            "Enter the site title:");
----------> title = new JTextField(response1, 50);
    //运行JTextField title = new JTextField(response1, 20),一样 

        // Site address
        String response2 = JOptionPane.showInputDialog(null,
            "Enter the site address:");
----------> address = new JTextField(response2, 20);
     //运行JTextField address = new JTextField(response2, 20),一样


        // Site type
        String[] choices = { "Personal", "Commercial", "Unknown" };
        int response3 = JOptionPane.showOptionDialog(null,
            "What type of site is it?",
            "Site Type",
            0,
            JOptionPane.QUESTION_MESSAGE,
            null,
            choices,
            choices[0]);
        type = new JTextField(choices[response3], 20);

        JPanel pane = new JPanel();
        pane.setLayout(new GridLayout(3, 2));
        pane.add(titleLabel);
        pane.add(title);
        pane.add(addressLabel);
        pane.add(address);
        pane.add(typeLabel);
        pane.add(type);

        setContentPane(pane);
    }

    public static void main(String[] arguments) {
        try {
            UIManager.setLookAndFeel(
                UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            System.err.println("Couldn't use the system "
                + "look and feel: " + e);
        }

        JFrame frame = new Info();
        frame.pack();
        
        frame.setVisible(true);
    }
}

|

1. address = new JTextField(response2, 20)
 2. JTextField address = new JTextField(response2, 20)
第一个只生成一个类内对象,第二个生成一个名字为address的函数内对象
在这个函数内部,以后再使用,采用的是第二个address,如果在此函数外部采用的则是第一个对象
二者不冲突,但是使用的时候最好不要采用同样的名字

|
指针?
这就好比全局和局部变量。^_^

    
 
 

您可能感兴趣的文章:

  • JDBC的问题,新手高手都来看看吧,说不定能帮帮我这个新手呢,谢谢!
  • 新手问题:中文问题等
  • 新手问题,关于liux安装启动的问题。
  • 新手有关linux的问题!
  • (新手问题)关于QT的问题
  • 一个蛋疼的问题,我是新手
  • 新手问题:RH怎么退回字符界面? 急!!!!
  • 新手问SCO UNIX安装问题
  • 新手学linux,关于vmware tools的问题。
  • 新手求教:关于ftp命令的问题,请大家帮帮忙
  • Java新手上路之问题
  • 新手,关于Gaim的问题,在线等
  • 新手问的小问题
  • linux新手问题
  • 新手学习linux的问题
  • 新手,菜鸟问题
  • 新手来请教一个关于IDE的问题
  • linux 分区 储存问题,纠结,想不明白了(新手)
  • 大家好,我是linux新手,有些问题请教
  • 新手小问题,望各位高手指导!!!!
  • 新手提问 在线等待,为什么我的程序中 new 操作符出错?
  • 新手提问,为什么我import java.util.Calendar;后,Calendar c=new Calendar.getInstance();却抱错呢??谢谢
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 新手如何加入开源项目 有什么好的c++,java 开源适合新手 请指点!
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 新手关于驱动开发的疑问
  • 新手急求~~~~~~~~~~~~~~~~~~~
  • 新手学习该用哪个版本
  • 面向新手的终端辅助工具 Clicompanion
  • 我是个新手,请各位老兄给介绍基本好书?
  • 新手请教啦~~能不能帮忙推荐几本书
  • 我是新手
  • 新手:用WEB页面修改数据库中的表?
  • 我是一名新手,请问如何学java
  • (新手)这里怎么看到300篇以外的所有文章?(不是搜索)
  • 新手求助!
  • 新手上路,怎样判断网卡是否安装成功?
  • !!新手求救!!
  • 新手在此多谢了:SUN的宠物商店
  • 新手请教,我用VI时按ESC键,总是回嘟嘟嘟嘟响,请问如何去掉!谢谢!
  • 新手求救!!关于变量初始化
  • 新手,请多指教!!
  • 我是新手,安装好unix后,要如何安装鼠标?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3