class Parent {
public Parent() {
System.out.println(this);
}
static void test() {
System.out.println(this);
}
}
class Child extends Parent {
public static void main(String[] args) {
new Child();
}
}
在第三行打印this,打印结果怎么显示this是Child的对象的引用呢?
不解,求dx!
public Parent() {
System.out.println(this);
}
static void test() {
System.out.println(this);
}
}
class Child extends Parent {
public static void main(String[] args) {
new Child();
}
}
在第三行打印this,打印结果怎么显示this是Child的对象的引用呢?
不解,求dx!
解决方案 »
- [toString() 不可用 - 无任何暂挂线程]
- 我从数据库查出来的信息放在JTextField中显示怎么是乱码 ?怎么回事?
- 【竞赛奖励】SageZk 、scf37、sort_superdullwolf 每人获得100专家分,请进来收取
- java播放wav问题,莫名其妙的问题
- 问一个在JSP页面动态输出网页元素的问题
- servlet中可以引用自己定义的累吗
- 请大家看看我的监听端口的代码,问什么所有的断口都抛出IOException异常呢?
- ----jtable 的问题-----
- 应“Hodex(小何才露尖尖角) ”的要求,又找了几道题,给大家做做。
- 刚开始学java就遇到一个问题,各位帮忙看看了,欧真苯!
- 关于javaw.exe进程的问题
- JDK5.0是不是不要配置classpath的?
不是child应该是啥?
的时候 Child对象的默认构造函数会在第一句调用父类的默认构造函数
也就是JAVA在Child对象中加入了一个
public Child()
{
super();
}
并不能new出一个父类的对象,只有一个Child类的对象think in java关于继承这一章说的很清楚,在new Child()时,会产生一个父类对象,不过这个父类对象是包含在子类对象中的。
import javax.swing.*;public class MenuTest1 extends JFrame implements ActionListener
{
JFrame zhfr=new JFrame();
JMenuBar mbar=new JMenuBar();
JMenu file=new JMenu("切换");
JMenuItem newf=new JMenuItem("添加记录");MenuTest1()
{
init();
}
public void init()
{
setBounds(200, 100, 700, 300);
file.add(newf);
mbar.add(file);
setJMenuBar(mbar);
//setContentPane(desktopPane);
mtest();
}public void mtest()
{
mbar.setOpaque(true);
newf.addActionListener(this);
}public void actionPerformed(ActionEvent e)
{
NewFrame();
}public void NewFrame()
{
JInternalFrame jif = new JInternalFrame();
JPanel top = new JPanel();
JTextField tf = new JTextField();
JButton jbt = new JButton("ddddddd");
//jif.setContentPane(top) ;
// jif.pack() ;
top.add(jbt);
top.add(tf);
jif.add(top);
// jif.show();
jif.setBounds(0, 0, 200, 100);
jif.setVisible(true);
this.getContentPane().add(jif);
}public static void main(String[] args)
{
MenuTest1 mt = new MenuTest1();
mt.setVisible(true);
}
}
class Parent {
public Super() {
g();
}
void g() {
System.out.println("Super"); // ok,no dead loop
//! this.g(); lead to dead loop
}
}class Child extends Parent {
public static void main(String[] args) {
new Child();
}
void g() {
super.g();
}
}因此可以认为确实创建了超类对象吧。但这个超类对象的初始化也是编译.java时,插入到.class中的
你的一大段代码没看懂,因为不懂gui编程。能不能帮我在原理上讲解一下。