在一个Java文件中可以包含多个可以编写多个类,不过只能有一个类可以被public修饰,多了则程序报错。或者把其它的类定义在自己的文件中,然后在导入进其它文件。

Java中静态语句、代码块以及构造函数的调用问题,调用输出顺序为:静态语句–>代码块–>构造函数

在Java中,如果给出一个完整的限定名,包括包名、类名,那么Java编译器可以很容易地定位到源代码或者类。Import语句就是用来提供一个合理的路径,使得编译器可以找到某个类。

在Java中类是一种引用数据类型,因此,定义一个类后,如下声明形式:类名 对象名 只是声明了一个用来操作该类对象的引用变量(通常简称为对象引用,它用来存放对象的引用值,而不是实际对象。因此,严格地说,上述声明中所说的对象名应是对象引用名。不过,大多数情况下,可以忽略他们的区别。为简述阐述,在不引起混淆的情况下,将对象引用名称之为对象名),并不会创建时机对象,即系统只会为它分配一块内存用于保存引用相应对象在堆中存放位置的对象引用值,相应对象必须使用运算符new在堆中创建。

import java.io.*; //命令编译器载入java_installation/java/io路径下的说有类
public class Test
{
    public static void main(String args[])
    {
        new B();   
    }
}
class A
{
    public A()//构造函数
    {
        System. out.println("I am A" );       
    }
    {//代码块
        System. out.println("A");
    }
    static{System.out .println("static A");}  //静态语句
}

class B  extends  A   //B继承A
{
    public B()//构造函数
    {
        System. out.println("I am B" );       
    }
    {//代码块
        System. out.println("B" );
    }
    static{System.out .println("static B");}  //静态语句
}

运行结果如下:

static A
static B
A
I am A
B
I am B