JFrame frame=new Info();  // 為Info frame=new Info()就好理解了.
frame.pack();  // 調用pack()自動調整窗體尺寸.

解决方案 »

  1.   

    1,Info()是继承了JFrame的一个子类,JFrame frame=new Info()实际上是创建了一个JFrame的对像。
    2,frame.pack()是指使用上面创建的那个JFrame对像来调用JFrame类中的pack()这个方法,这个方法的意思是让窗口上的组件调整到与窗体之间最合适的大小~~
      

  2.   


    1,Info()是继承了JFrame的一个子类,JFrame frame=new Info()实际上是创建了一个JFrame的对像。
       既: 父类的引用对象可以指向子类的对象.2,frame.pack()是指使用上面创建的那个JFrame对像来调用JFrame类中的pack()这个方法,这个方法的意思是让窗口上的组件调整到与窗体之间最合适的大小~~
      

  3.   

    既然JFrame frame=new Info()是创建了一个JFrame的对像,那怎么不用
    JFrame frame=new JFrame()这样不是看起来更清晰吗?它们之间有什么不同?JFrame frame=new Info()是不是和JFrame frame=new JFrame()完全等价?
      

  4.   

    这两个是不同的,
    JFrame frame = new Info()只是创建了Info类的实例,你只能调用Info类中的public方法
    同样的,new JFrame(),那同样只是创建了JFrame的实例
    这两者是并列关系的。而Info继承了JFrame,那Info可以调用JFrame中的public和private方法和类变量,如果他们在同一包中的话
      

  5.   

    面向对象的向上继承
    upcast