java 构造函数问题

而康 2009-12-24 06:50:53
初学java 有很多问题
问一下
Graphics g=a.getGraphics();
他是类为什么Graphics g=new Graphics();就不行 ?
看了jdk文档Graphics 继承object
而getGraphics继承Component 不在一起也很怪异
还有很多这样的有点蒙尤其是谁继承谁
写的时候晕




...全文
69 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuhanchendalong 2009-12-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pjw100 的回复:]
引用 2 楼 softice_ 的回复:
因为它没有默认的构造方法

不是没有构造方法,应该是私有构造方法,就算你不写构造方法,也应该有默认的。
[/Quote]

说的没错。。。这是基础,老师上课的时候反复强调
而康 2009-12-24
  • 打赏
  • 举报
回复
还有个小问题能不能看一下问题 运行时总是
00:12:00
预期是00:00:00
不知为什么
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.*;
class testsw extends Frame{

private static final long serialVersionUID = -9214218370619425665L;
public testsw()
{

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
}

);
}
public static void main(String[] args)
{

testsw a=new testsw();
stopwatch b=new stopwatch();
a.setSize(400,400);
a.setTitle("Watch");
a.setVisible(true);
Graphics g=a.getGraphics();
b.paint(g);
}
}
class stopwatch {

private static final long serialVersionUID = 1L;
long st=0;
long et=0;



public void paint(Graphics g)
{
Date e=new Date();
SimpleDateFormat sdf =new SimpleDateFormat("HH:MM:SS");
try
{
e=sdf.parse("00:00:00");
}catch(Exception ee){};

e.setTime(e.getTime()+et-st);

String strTime=sdf.format(e);
g.fill3DRect(0,30,150,30,true);
g.setColor(Color.WHITE);
g.drawString(strTime,15,50);


}

}
lixkyx 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 pjw100 的回复:]
引用 2 楼 softice_ 的回复:
因为它没有默认的构造方法

不是没有构造方法,应该是私有构造方法,就算你不写构造方法,也应该有默认的。
[/Quote]

是的。Graphics类不提供外部调用的构造方法来创建对象。
pjw100 2009-12-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 softice_ 的回复:]
因为它没有默认的构造方法
[/Quote]
不是没有构造方法,应该是私有构造方法,就算你不写构造方法,也应该有默认的。
softice_ 2009-12-24
  • 打赏
  • 举报
回复
因为它没有默认的构造方法
pjw100 2009-12-24
  • 打赏
  • 举报
回复
Component其实都是画的。
Graphics是画笔,用画笔画出一个个Component,这样理解。

13,100

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧