Java是面向对象的程序设计语言,Java语言提供了定义类,定义属性、方法等基本功能。类可以被认为是一种自定义数据类型,可以使用类来定义变量,定义的变量为引用类型的变量,它会引用到类的对象,对象由类负责创建,类用于描述客观世界某类事物的共同特征,而对象时类的具体存在,Java语言中使用类的构造器来创建类的对象。

Java支持面向对象的三大特征:封装、继承、多态,Java提供了private、protected和public三个访问控制修饰符来实现良好的封装,提供了extends关键字来实现继承。子类继承父类可以继承父类的属性和方法,如果访问访问控制允许,子类实例可以直接调用父类里定义的方法。继承是实现类的复用的重要手段,除此之外,也可以通过组合关系来实现这种复用,从某种程度上看,组合和继承具有相同的功能。使用继承来实现类的复用时,子类对象可以直接赋值给父类变量,这个变量具有多态性,编程更加灵活,而利用复合来时实现类的复用,则不具这种灵活性。

构造器用于对类的实例进行初始化操作,构造器支持重载。如果多个构造器里包含了相同的初始化代码,则可以把这些代码放在普通初始化块里完成,初始化块总在构造器执行之前被调用。除此之外,Java还提供了静态初始化块用于初始化类,在类的初始化阶段被执行。如果继承树里某个类需要被初始化,系统将会初始化继承树里的所有类。