封装:把描述一个对象的属性和行为的代码封装在一个“模块”中,也就是一个类中,属性用变量定义,行为用方法定义,方法可以直接访问同一个对象中的属性。变量和访问这个变量的方法放在一起,将一个类中的成员变量全部私有化,只有这个类自己的方法才可以访问到这些成员变量,这基本上就实现了对象的封装。
继承:在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个已经存在的类所定义的内容作为自己的内容,并可以加入若干新的内容,或修改原来的方法使之更适合特殊的需要,这就是继承。继承提高了代码的可复用性和可拓展性。
多态:引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行时才确定,即一个引用变量到底会指向哪个对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在程序运行期间才能决定。多态提高了代码的灵活性和拓展性。多态的两种实现方式:重写和重载。
重写:子类和父类之间,子类重写父类的方法。重写时注意,方法名和参数列表要与父类被重写方法名和参数列表相同。子类抛出的异常要比父类抛出的异常范围小或相等,子类返回值类型要比父类返回值类型小或相等。子类重写方法的访问权限要比父类被重写方法的访问权限大或相等。
重载:在同一个类中,方法名相同,参数列表各不相同。常见的构造方法,传入不同的参数,可以创建出不同的对象。构造方法不可以被继承,因此不可以被重写。