我遇到这样一段代码:
public class A{
    public static void main(String args[]){
        JFrame mw=new JFrame("我是一个窗口");
        mw.setSize(300,300);
        Container con=mw.getContentPane();
        con.setLayout(new BorderLayout());
 }
}
//为什么mw对象创建的时候用new关键字而con对象创建的时候不用new关键字?难道con不是对象?
//Container con=mw.getContentPane();这段代码什么意思请详细说一下,我是初学者,请将的易懂些谢谢各位高手!

解决方案 »

  1.   

    con对象已经在new JFrame的时候创建好了,所以只需获取就ok了
      

  2.   

    学了几天了?你先去弄个helloword出来,再开始看swing。
      

  3.   

    mw.getContentPane();的作用就是创建Container的对象
    而con就是创建的Container对象实例
      

  4.   

    你的问题解释如下,Java的程序运行的时候有些对象(其实是大部分对象)的创建过程程序员是看不到的,事实上这些对象大部分也是new出来的,只是没在你写的代码里面。
    当这些对象在后台已经new出来之后,你就可以直接获得并使用,所以看起来就没有new的过程,正如二楼所说。
      

  5.   


    举个例子class A {
        public static void main(String[] args) {
            A a = new A(); //这里相当于 JFrame mv = new JFrame();
            String s = a.getString(); //这里相当于 Container con = mv.getContentPane();
            System.out.println(s);
        }    public String getString() { //这个方法相当于 getContantPane()
            return "test"; //方法的内部返回了已经new好的对象或者已经存在的对象,
                              //这样外部直接调用方法就可以获得相应的对象了
        }
    }
      

  6.   

    对于con对象,虽然你没有显示的对其进行创建但是在你操作之前肯定已经创建过。
      

  7.   

    不是所有的牛奶都叫特仑苏,同样不是所有的对象都得让你new
      

  8.   

    嗯.看源码.按住CTRL点进去就是不在此处new,在另外的地方new了
      

  9.   

    mw.getContentPane();
    调用这个函数的结果是返回Container 类型的一个对象,
    即getContentPane()这个函数里面肯定new Container()了(或者是他的子类)。按住ctrl,然后点击mw.getContentPane();可以跟到源代码中间去看看看。