继承(inheritance):
也称泛化,继承性是子类自动共享父类属性和方法的机制,在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入自己若干新的内容继承简化了人们对事物的认识和描述,有益于软件复用,是OO技术提高软件开发效率的重要原因之一是类之间的一种关系,一般类与特殊类之间的关系 封装(encapsulation):
所谓封装是把对象的属性和行为结合在一个独立的系统单位内部尽可能隐蔽对象的内部细节,只向外部提供接口封装的重要意义:
使对象能够集中而完整地描述并对应一个具体事物体现了事物的相对独立性,使对象外部不能随意存取对象的内部数据 多态(polymorphism):
指同一个命名可具有不同的语义OO方法中,常指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为 继承的含义
在Java中定义一个类时,让该类通过关键字extends继承一个已有的类,这就是类的继承(泛化)。被继承的类称为父类(超类,基类),新的类称为子类(派生类)。子类继承父类的所有属性和方法,同时也可以增加自己的属性和方法。 继承的语法
例如
Java中只支持单继承,也就是说每个类只能有 一个父类,不允许有多重继承一个父类可以有多个子类子类继承父类所有的属性和方法 类的继承
子类实例化的过程子类实例化时先实例化其父类,然后实例化子类。要先调用父类的构造器,父类构造器运行完毕,才调用子类的构造器。例如实例化类D,A->C->D。
子类实例化的过程
使用默认的构造器在子类中的创建构造器在子类中创建构造器时,必须调用父类的构造器
子类可以在自己的构造器中使用super关键字来调用父类的构造器
* 如果使用super关键字调用父类构造器,必须写在该子类构造器的第一行 * 如调用的是父类中无参的构造器,则可以不写super( ) * 如果子类中调用了父类无参的构造器,而父类中没有无参构造器则系统编译出错调用构造方法
在构造方法中,可以使用this或super调用其他的构造方法
super()
作用:调用父类的构造器只能出现在子类的构造器中,且必须是第一行super()中的参数,决定了调用父类哪个构造器如果子类构造器中没有出现super,那么编译器会默认加上super(),即调用父类的空构造器,如果父类没有空构造器,编译器提示错误。 this()
作用:调用本类的构造器只能写在构造器的第一行 在同一个构造器中super()和this()不能同时出现 抽象类和接口



