学号 2016-2017-2 《Java程序设计》第四周学习总结
教材学习内容总结
1.子类与父类:由继承得到的类称为子类,被继承的类称为父类
2.在类的声明过程中,通常用关键字extend来定义一个类的子类 ,如 class 子类名 extend 父类名
3.如果子类和父类在同一个包中,子类继承了其父类中不是private的成员变量作为自己的成员变量,也继承了其父类中不是private的方法作为自己
的方法,继承的成员变量和方法的访问权限保持不变
4.子类对象的特点:如果子类和父类不在同一个包中,子类不继承父类的友好成员变量
5.instanceof 运算符时Java独有的双目运算符
6.成员变量的隐藏和方法重写
7.supper关键字:supper可操作被隐藏的成员变量和方法
8.final关键字:可以修饰类、成员变量、方法中的局部变量,可使用final将类声明为final类,final类不能被继承,即不能有子类
9.对象的上转型对象:上转型对象操作子类继承的方法或子类重写的实例方法,其作用等价于子类对象去调用这些方法
10.继承与多态:多态性是指父类的某个方法被其子类重新时,可以各自产生自己的功能行为
11.abstract类:用关键字abstract修饰的类称为abstract类
12.abstract方法:用关键字abstract修饰的方法称为abstract方法
13.面向抽象编程:是指当设计某种重要的类时,不让该类面向具体的类,而是面向抽象类,即所设计类中的重要数据是抽象类声明的对象,而不是具体类声明的对象
14.使用多态进行程序设计的核心技术是使用上转型对象,即将abstract类声明的对象作为子类对象的上转型对象,那么这个上转型对象就可以调用子类重写的方法
代码调试中的问题和解决过程
- 问题1:运行example5_1时,无法正常编译
- 问题1解决方案:example5_1中的类Student.java与之前的类发生矛盾(第五章与之前的章节的源文件放在一个文件夹中,且没有创建包),改次例中的Student.java为其他的类名即可
- 问题2:颠倒顺序后,结果截然不同的原因
- 问题2解决方案:仔细翻看教材后发现,float g()方法中,n没有被赋值,而float f()方法中,n被赋值为100,先执行
float resultOne = aver.f();
,则n被赋值为100,然后执行float resultOne = aver.g();
时,n仍为100,而颠倒顺序后,n在执行float resultOne = aver.f();
时才被赋值 - ...
代码托管
原文地址:https://www.cnblogs.com/tengxing/p/10574174.html