201711671208 《Java程序设计》之子类与继承 第八周学习计划

如果一个类(除了对象类)的声明中没有使用延伸,那么这个类被系统默认为对象的子类,否则则是对象类的子孙类。

父类中的私有变量和方法不能被子类继承。

甲类要访问乙类的保护的变量和方法,只有AB类都在同一个包中才能访问。如果乙类中的受保护的变量和方法继承与多个上级,那么如果一个类和祖先类(被保护的变量和方法的来源)在同一个包才可以访问。如果父类和子类不在同一个包中,子类不能访问父类友好的变量和方法。

java独有的双目运算符instanceof,用法:左边是对象,右边是类,当左边的操作元是右边的类或其子类所创建的对象时返回true。

子类方法重写要注意这个方法的名字,参数个数,参数类型和父类的方法完全相同。方法重写针对父子类之间,方法重载针对一个类体内的同名方法(参数不同,和返回类型无关)。

子类声明的成员变量和父类同名的成员变量同名时,子类会隐藏所继承的成员变量。子类对象和子类自己定义的方法操作这个子类重新声明的成员变量,但被子类隐藏的成员变量仍然可以让子类对象调用从父类继承的方法进行操作。

重写父类方法不允许降低方法的访问权限,但可以提高访问权限由高到低是:公共,保护,友好的,私人

子类不继承父类的构造方法,子类使用超级()调用父类的构造方法。使用超级调用则必须是子类构造方法中的头一条语句。

最后类不可被继承,无子类.final可以修饰类,成员变量,方法中的局部变量。父类的最终方法不允许子类重写,不允许子类隐藏可以继承的最终方法。

abstract可以修饰类和方法,abstract类是抽象类,abstract方法只允许声明,不允许实现,abstract方法必须是实例方法,不可以被static修饰,static方法是类方法。

abstract类中有无abstract方法都可以,但非abstract类中不可以有abstract方法。abstract类不可以new出对象,若某个非抽象类是某个抽象类的子类,那么它必须重写父类的抽象方法,给出方法体,这就是为什么都不可以用final同时修饰抽象类或抽象方法。

猜你喜欢

转载自blog.csdn.net/u011633428/article/details/84678433
今日推荐