面向对象编程的三个特性:封装性;继承;多态
在类中除了成员方法之外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当类实例化一个对象时,类都会自动调用构造方法。
构造方法的特点如下∶
构造方法没有返回类型,也不能定义为void。
构造方法的名称要与本类的名称相同。
构造方法的主要作用是完成对象的初始化工作,它能把定义对象的参数传给对象成员。
注意: 在定义构造方法时,构造方法没有返回值,但这与普通没有返回值的方法不同,普通没有返回值的方法使用public void Text()这种形式进行定义,但构造方法并不需要使用void关键字进行修饰。
在java中使用extends 关键字来声明子类继承于某父类,如下:
class 父类 {
}
class 子类 extends 父类 {
}
继承又分单继承和多重继承,Java不支持多继承。
单继承和多重继承。单继承是指一个子类最多只能有一个父类。多继承是一个子类可以有二个以上的父类。
Java除了extends,还可以用implements关键字来实现继承。Java中不支持多重继承,但是用implements可以实现多个接口,相当于使得Java具有多继承的特性。
super:引用当前对象的父类成员
this:指向当前类的引用。
final的功能是将类定义为不可继承的,也可以用于修饰方法,被修饰的方法不可被子类重写。
- 子类不继承父类的private属性和方法
- 子类可以对父类进行扩展,拥有自己的属性和方法
- 子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式)。如果父类的构造器带有参数,则必须在子类的构造器中显式地通过super关键字调用父类的构造器并配以适当的参数列表
- 如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。
多态的转型有向上转型和向下转型两种。
向上转型
当不需要面对子类类型时,通过提高扩展性,或者使用父类的功能就能完成相应的操作。
父类类型 变量名=new 子类类型()
向下转型
当要使用子类特有功能时。
子类类型 变量名=(子类类型) 父类类型的变量;