考虑我有一个带有非抽象方法的抽象类。我尝试创建引用类型对象并访问该非抽象方法..它给了我一个编译错误。下面的程序演示了它。
abstract class A
{
public void print()
{
System.out.println("this is the print method");
}
}
class test
{
public static void main(String args[])
{
A ob;
ob.print();
}
}
那么这就是我得到的输出,
变量 ob 可能尚未初始化
如果我假设上述情况为真,那么为什么在以下程序中允许相同。在下面的 Applet 中,我使用该paint()
方法作为入口点。所以,在这里我创建了一个预定义类Graphics
(抽象类)的引用类型对象,并尝试访问drawString()
它的方法,然后没有编译错误.. 像这样-->
import java.applet.*;
import java.awt.*;
public class apptest extends Applet
{
public void paint(Graphics g)// Graphics is an abstract class
{
String s="this is an applet";
g.drawString(s,20,20);
}
}
这个小程序如何让我做同样的事情?