简单的java 提问

来源:百度知道 编辑:UC知道 时间:2024/05/27 14:18:54
Container contentPane = getContentPane();
Font font = new Font("MS Pゴシック", Font.PLAIN, 12);
contentPane.setFont(font);
GridBagLayout gridbag = new GridBagLayout();
contentPane.setLayout(gridbag);

Container contentPane = getContentPane(); 为什么可以直接这样定义而不用new
Container 是java.awt.Container下的

1仔细看看getContentPane(); 它是第二个单词开始大写的,说明它是一个方法,而不是对象.所以跟NEW无关.
2而getContentPane() 是一个静态方法,所以直接可以调用。
3getContentPane() 是一个返回值类型为Container 的方法,所以调用之后,用Container contentPane = getContentPane(); 来接值.

因为getContentPane()的返回值是Container的对象

getContentPane() 这个方法返回的应该是个Container 实例

所谓 new 方法也只不过是在内存中创造一个实例

两者相同

原因有两点:
1、getContentPane() 的返回类型是Container ;
2、getContentPane() 是static的。
基于以上两点,就可以直接这样写了……