教材学习内容总结
1、Java不支持多重继承
2、任何类都是Object类的子类
3、子类与父类在同一个包中:子类可继承父类的非private的成员变量和方法;
子类与父类不在同一个包中:子类只可继承父类的protected和public的成员变量和方法
4、一个类A中的protected成员变量和方法可以被它的子孙类继承,例如B是A的子类,C是B的子类,D是C的子类,那么B、C、D类都继承了A类的protected成员变量和方法。在没有讲述子类之前,我们曾对访问修饰符proteced进行了讲解,现在需要对protected总结得更全面些。如果用D类在D本身中创建了一个对象,那么该对象总是可以通过“.”运算符访问继承的或自己定义的protected变量和protected方法的,但是,如果在另一个类中,例如在Other类中用D类创建了一个对象object,该对象通过“.”运算符访问protected变量和protected方法的权限如下(1) 对于子类D自己声明的protected成员变量和方法,只要Other类和D类在同一个包中,object对象就可以访问这些protected成员变量和方法。(2) 对于子类D从父类继承的protected成员变量或方法,需要追溯到这些protected成员变量或方法所在的“祖先”类,例如可能是A类,只要Other类和A类在同一个包中,object对象能访问继承的protected变量和protected方法。
5、在子类创建对象时,父类的成员变量(包括private)也会分配内存空间
6、成员变量的重写:子类声明的成员变量与从父类继承来的变量名字相同(类型可以不同),这时子类会隐藏所继承的该变量
7、子类继承来的方法只能操作子类继承来的和隐藏的变量;子类新定义的方法不可以操作隐藏的变量,要用super关键字
8、方法的重写:方法的名字、参数个数、参数类型(也可以是父类方法类型的子方法类型)和父类的方法完全相同
9、重写的方法不可以操作隐藏的变量和方法,要用super关键字
10、重写方法时,不允许降低方法的访问权限,但可以提高访问权限(高到低顺序是:public、protected、友好的、private)
11、super关键字:可以用super关键字来操作被隐藏的成员变量和方法;可以用super关键字来调用父类的构造方法(如果父类的构造方法有参数,那么子类必须用super来调用父类构造方法传值,且super语句必须在子类构造方法第一条语句)
12、final关键字:用final声明类,该类不能被继承;final声明的方法不能被重写;final声明的变量为常量
13、对象的上转型对象:
教材学习内容总结
1、Java不支持多重继承
2、任何类都是Object类的子类
3、子类与父类在同一个包中:子类可继承父类的非private的成员变量和方法;
子类与父类不在同一个包中:子类只可继承父类的protected和public的成员变量和方法
4、一个类A中的protected成员变量和方法可以被它的子孙类继承,例如B是A的子类,C是B的子类,D是C的子类,那么B、C、D类都继承了A类的protected成员变量和方法。在没有讲述子类之前,我们曾对访问修饰符proteced进行了讲解,现在需要对protected总结得更全面些。如果用D类在D本身中创建了一个对象,那么该对象总是可以通过“.”运算符访问继承的或自己定义的protected变量和protected方法的,但是,如果在另一个类中,例如在Other类中用D类创建了一个对象object,该对象通过“.”运算符访问protected变量和protected方法的权限如下(1) 对于子类D自己声明的protected成员变量和方法,只要Other类和D类在同一个包中,object对象就可以访问这些protected成员变量和方法。(2) 对于子类D从父类继承的protected成员变量或方法,需要追溯到这些protected成员变量或方法所在的“祖先”类,例如可能是A类,只要Other类和A类在同一个包中,object对象能访问继承的protected变量和protected方法。
5、在子类创建对象时,父类的成员变量(包括private)也会分配内存空间
6、成员变量的重写:子类声明的成员变量与从父类继承来的变量名字相同(类型可以不同),这时子类会隐藏所继承的该变量
7、子类继承来的方法只能操作子类继承来的和隐藏的变量;子类新定义的方法不可以操作隐藏的变量,要用super关键字
8、方法的重写:方法的名字、参数个数、参数类型(也可以是父类方法类型的子方法类型)和父类的方法完全相同
9、重写的方法不可以操作隐藏的变量和方法,要用super关键字
10、重写方法时,不允许降低方法的访问权限,但可以提高访问权限(高到低顺序是:public、protected、友好的、private)
11、super关键字:可以用super关键字来操作被隐藏的成员变量和方法;可以用super关键字来调用父类的构造方法(如果父类的构造方法有参数,那么子类必须用super来调用父类构造方法传值,且super语句必须在子类构造方法第一条语句)
12、final关键字:用final声明类,该类不能被继承;final声明的方法不能被重写;final声明的变量为常量
13、对象的上转型对象:
14、abstract类与方法:abstract类不能使用new来创建对象;abstract方法只允许声明不允许实现,不允许final和abstract同时声明方法和类,也不允许static和abstract同时声明方法。