20175304 《JAVA程序设计》第四周学习总结

20175304 2018-2019-2 《Java程序设计》第四周学习总结

教材学习内容总结

  1. 继承:继承是一种由已有的类创建新类的机制。利用继承,可以先定义一个共有属性的一般类,根据该一般类再定义具有特殊属性的子类,子类继承一般属性和行为,并根据需要增加它自己的新的属性和行为。
  2. 一个类的声明中如果没有extends关键字,则这个类被默认为是Object的子类。即class A与class A extends Object是等同的。
  3. 如果子类和父类在同一个包中,那么,子类自然地继承了其父类中不是private的成员变量和方法作为自己的成员变量和方法。当子类和父类不在同一个包中时,子类只能继承父类中的protected和public访问权限的成员变量和方法作为子类的成员变量和方法。
  4. 子类可以通过public方法去调用友好类和private类的变量,因为这些变量都在子类中被分配了内存空间。
  5. instanceof运算符:instanceof运算符是Java独有的双目运算符,其左面的操作元是对象,右面的操作元是类,当左面的操作元是右面的 类 或者 子类 所创建的对象时,instanceof运算的结果是true,否则是false。
  6. 一个类中的protected类成员变量和方法可以被子孙类继承,所需要的protected的成员变量和方法所在父类必须和运用到的类在同一包中。
  7. 子类隐藏继承的成员变量的特点如下:子类对象以及子类自己定义的操作方法与父类同名的成员变量是指子类重新声明的这个成员变量。子类对象仍可以调用从父类继承的方法操作被子类 隐藏的 成员变量,也就是说,子类继承的方法所操作的成员变量一定是被子类继承或隐藏的成员变量。子类新定义的方法可以操作子类继承和子类新声明的成员变量,但无法操作子类隐藏的成员变量。
  8. 子类重写:
    这个方法的名字、参数个数、参数的类型和父类的方法完全相同。子类如此的定义方法称为子类重写的方法。重写方法可以操作继承的成员变量、调用继承的方法,也可以操作子类新声明的成员变量、调用新定义的其他方法,但无法操作被子类隐藏的成员变量和方法。注意所有参数均需做到与父类保持一致达到覆盖效果。重写父类方法时,不允许降低方法的访问权限,但可以提高访问权限。(从高到底:public、protected、友好类、private)
    9.Super关键字:
    如果想调用被隐藏的成员变量或者方法就需要使用super关键字。super调用被隐藏方法时,该方法中出现的成员变量是被子类隐藏的成员变量或继承的成员变量。
    10.final类
    final类不能被继承,有时候出于安全性考虑。
    11.对象的上转型对象的实体是子类负责创建的,同把子类创建的对象的引用放到一个父类的对象中时,就得到了该对象的一个上转型对象。
    上转型对象不能操作子类新增的成员变量或方法,可以操作子类继承的成员变量和方法。
    可以将对象的上转型对象再强制转换到一个子类对象,这时,该子类对象又具备了子类的属性和功能。

12.多态性就是指不同的子类在重写父类的方法时可能产生不同的行为。

13.用abstract修饰的类称为abstract类(抽象类),用abstract修饰的方法为abstract方法。
abstract方法,只允许声明,不允许实现,即没有方法体,必须要被子类重写。
abstract类可以有abstract方法,也可以没有;非abstract类不能有abstract方法。
abstract不能用new运算符创建对象
不允许用final和abstract同时修饰一个方法或类,也不允许使用static修饰abstract方法。
14.抽象类给出的是重要的行为标准,但不给出具体行为。

教材学习中的问题和解决过程

  • 问题1:对于构造方法的定义不明确:
  • 问题1解决方案:java中构造方法指的是:与类名相同,无返回类型的方法,参数可以为空,也可以带参数。
    比如一个 Dao 类,private Dao(){}这个就是无参数的构造方法private Dao(String name){}这个就是带参数的构造方法

代码调试中的问题和解决过程

  • 问题1:不清楚integer是什么类
  • 问题1解决方案:通过网上查资料了解到是int的包装类,没有默认值。

代码托管

上周考试错题总结

  • 错题1

原因,理解情况
D项漏选。对成员变量的理解不清晰。 成员变量:成员变量定义在类中,在整个类中都可以被访问。成员变量随着对象的建立而建立,随着对象的消失而消失,存在于对象所在的堆内存中。成员变量有默认初始化值。

感悟

通过本周的学习,我发现之前学习的知识点例如成员变量,构造方法等知识点和性质的掌握不够清楚,导致之后的学习不够顺利,有错题的情况出现。之后需要
加强对知识点的复习和理解掌握。

学习进度条

代码行数(新增积) 博客量(新增积) 学习时间(新增积) 重要成长
目标 5000行 30篇 400小时
第一周 200/250 1/1 20/20
第二周 450/700 1/2 18/38
第三周 800/1500 1/3 22/60
第四周 520/2020 1/4 30/90

参考资料

原文地址:https://www.cnblogs.com/lcyll/p/10591062.html