java2

87 阅读3分钟

第五章继承与接口 1、Java不支持多重继承,子类只能有一个父类,一个类可以有多个子类 2、Object是所有类的父类,通过关键字extends来声明一个类的子类,格式为: class 子类名 extends 父类名{}; 3、如果子类中定义的实例方法不能操作父类的某个成员变量或方法,那么该成员变量或 方法就没有被子类继承 4、(1)子类和父类在同一包中:不能继承private (2)子类和父类不在同一包中:不能继承private和友好变量/方法 5、子类对象调用protected方法和访问protected变量,一定要保证该子类对象和定义该 protected的类在同一包中 6、当用子类的构造方法创建一个子类的对象时,子类的构造方法总是先调用父类的某个构造方法。如果子类的构造方法没有明显地指明使用父类地哪个构造方法,子类就调用父类不带参数地构造方法 7、子类中声明的成员变量和父类中的成员变量同名,子类就隐藏了继承的成员变量。子 类对象可以调用从父类继承的方法操作隐藏的成员变量 8、方法重写:完全相同(方法名字、参数个数、参数类型和父类的方法完全相同)。子 类通过重写可以隐藏继承的方法 9、子类如果想使用父类的构造方法,必须在子类的构造方法中使用关键字super来表示,而且super必须时子类构造方法中的头一条语句。如果在子类的构造方法中,没有明显地写出super关键字来 调用父类的某个构造方法,那么默认有super();即调用父类不带参数的构造方法。 10、final关键字: (1)可以修饰类、成员变量和方法中的局部变量、成员方法 (2)final类不能被继承,即不能有子类 (3)如果用final修饰父类中的一个方法,那么这个方法不允许子类重写 (4)如果成员变量或局部变量被修饰为final,就是常量,所以时必须给一个初始值,且不 能发生变化 11、对象的上转型对象: (1)假设A类是B类的父类,当用子类创建一个对象,并且把这个对象的引用放到父类的 对象中,称对象a是对象b的上转型对象(子类对象的引用给父类 (2)不能操作子类新增的成员变量,不能调用子类新增的方法 (3)可以访问子类继承或隐藏的成员变量,也可以调用子类继承的方法或子类的重写方 法 (4)可以将对象的上转型对象强制转换到一个子类对象 (5)如果子类重写了父类的静态方法,那么子类对象的上转型对象不能调用子类重写的 静态方法,只能调用父类的静态方法 12、多态性指父类的某个方法被其子类重写时,可以各自产生自己的功能行为 13、用关键字abstract修饰的类/方法称为抽象类/方法,对于abstract方法,只允许声明. 不允许实现,即没有方法体,而且不允许使用final和abstract同时修饰一个方法 14、abstract的特点: (1)抽象类里可以有抽象方法,也可以有非抽象方法,非抽象类不可以有抽象方法 (2)抽象类不能用new运算符创建对象 (3)如果一个非抽象类是抽象类的子类,它必须重写父类的抽象方法,即去点抽象方法的abstract修饰,并给出方法体。如果一个抽象类是抽象类的子类,它可以重写父类的抽象方法,也可以继承父类的抽象方法