抽象方法可以直接調用嗎? 抽像方法是不能直接调用的,你这里看到的g,实际是Graphics的一个子类的实例,已经实现了drawLine这个方法,只不过是通过Graphics接口对像做参数传进来的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 抽象方法是不能直接调用的,因为它没有方法体注意多态性,public void paint(Graphics g){//參數中直接定義抽象類對象? g.drawLine(40,5,30,10);//抽象方法還沒實現?g是Graphics的一个实例,在执行drawLine时是动态绑定到Graphics的某个实例上的方法。Graphics有它的具体实现子类。 有誰知道drawLine是在哪實現的? 就是各个component的GraphicsComponent.getGraphics()jdk里可能没有具体的外部实现类,就像迭代接口Iterator和ListIterator一样具体实现为某个类的内部类你只要知道Graphics的实例是关联某个component构件而存在的getGraphics()只是得到一个拷贝,注意不是引用所以画图的基点都是paint(Graphics g) whyxx大蝦好象有些道理﹐但接口的目的是為了實現java里的多重繼承﹐而應當不存在直接定義接口對象(雖然可視接口為一特殊類)﹐就算是定義了接口對象,但接口里照樣都是沒方法體的方法﹐所以drawLine到底是在哪具體實現的﹐我還是沒有搞清楚。 对于 public void paint(Graphics g)来说:Graphics g确实是类Graphics的一个实例(对象),只不过这个对象是浏览器(继承Graphics后)创建并传递给paint()的,所以这个g运行时已经是一个对象,g.drawLine()也已经有了方法体 一再说了,接口不是因为要多继承才出现的,也就是说接口的目的才不是要多继承呢。当然在java里没有多继承的性质,用接口可以间接的实现。但接口和多继承没有关系。 系统是怎么实现Runnable接口的? 为什么我得到的图片大小是0字节 ServerSocket请教 Hibernate问题 求用java写的俄罗斯方块代码 初来乍到,遵守诺言,Kosling请进来领分! 如何调用别人的.class文件里的函数啊 JTable可以不放在JScrollPane中而且产生列头吗? 斑主,怎么知道自己贴子是否已结贴? 我觉得jbuilder5不是没有中文帮助的问题!!!!是缺乏例子的问题 JReport的子报表的问题,高手请进 [求助]如何用Java获得访问者的Ip地址。
public void paint(Graphics g){//參數中直接定義抽象類對象?
g.drawLine(40,5,30,10);//抽象方法還沒實現?g是Graphics的一个实例,在执行drawLine时是动态绑定到Graphics的某个实例上的方法。
Graphics有它的具体实现子类。
Component.getGraphics()
jdk里可能没有具体的外部实现类,就像迭代接口Iterator和ListIterator
一样具体实现为某个类的内部类你只要知道Graphics的实例是关联某个component构件而存在的
getGraphics()只是得到一个拷贝,注意不是引用
所以画图的基点都是paint(Graphics g)
Graphics g确实是类Graphics的一个实例(对象),只不过这个对象是浏览器(继承Graphics后)创建并传递给paint()的,所以这个g运行时已经是一个对象,g.drawLine()也已经有了方法体