以 sun. 等开头的一些源码并没有提供。
Java 并不是把所有源码都提供了的。
不过如果你有兴趣的话,可以把这些源码反编译出来,工具在网上多的是,自己找找吧。

解决方案 »

  1.   

    谢谢 楼上的!又碰到一个问题,下面是一个最简单的Applet程序:
    import javax.swing.JApplet;  // import class JApplet
    import java.awt.Graphics;    // import class Graphicspublic class WelcomeApplet2 extends JApplet {  
       public void paint( Graphics g )
       {
          g.drawString( "Welcome to", 25, 25 );
          g.drawString( "Java Programming!", 25, 40 );
       }
    }问题1:java.awt.Graphics是一个abstract class,抽象类不是不能实例化嘛?
           这里从Grahics如何解释?
        2:据我跟踪,存在如下继承关系:
           JApplet->Applet->Panel->Container.在jdk的src目录下,找不到Container这个类,是不是
           被封装在jvm中,程序员不能直接查看其源代码?
        3:在.net下,所有的类都继承之同一个基类object,是不是java的所有类也有一个共同的基类?
      

  2.   

    不好意思,问题1应改为:
    问题1:java.awt.Graphics是一个abstract class,抽象类不是不能实例化嘛?
           这里的Grahics g如何解释?
      

  3.   

    1: Graphics g  并没有实例花对象, 只是声明了一个对象而已.
       new Graphics() 才是实例化, 这样会抱错.
    3:在.net下,所有的类都继承之同一个基类object,是不是java的所有类也有一个共同的基类?.net的这一特性是模仿java的. java 的所有类都是 Object 类的子类.
      

  4.   

    1. Graphics g,这里是声明引用,不是实例化。
    如果出现 new Graphics() 之类的语句,才是实例化,当然这个实例化语句是不成立的,因为 Graphics 是 abstract 类2. Container 应该是在 java.awt 包中,你再找找看,没理由找不到的。3. Java 的所有类都有一个共同的基础,叫 Object,在java.lang 包中,即 java.lang.Object。不过需要注意一点,Java 的基础类型,如 int, long, bool, char, double 等,不是类,所以不会有基类。虽然也提供了相应的封装类在java.lang 包中,但不像 .Net 可以自动封箱。