学号20《Java程序设计》第六周学习总结

一、教材学习内容总结

     在第五章的学习中,了解到三个比较重要的关键字。第一是用extends来定义子类,因为java不支持多重继承,所以每个类只有一个父类;而且任何类都是object类的子类,还有就是没写关键字extends,则为object类的子类;第二个是成员变量的隐藏,这就需要用到了关键字super操作子类隐藏的变量;第三个是关键字final,final类不能被继承,如果用final修饰方法,则这个方法不允许子类重写;第四个是关键字abstract,对于abstract方法,只允许声明,不允许实现(没有方法体),而且不允许final和abstract同时修饰衣蛾方法或类,也不允许static修饰abstract方法。

     接下来就是继承,java中会使用到包,那么同一个包或者不同一个包继承了什么?首先,在同一个包中继承的有公有,保护以及友好,不同的包中继承只有公有和保护。后面就是上转型,假如说A父类有一个对象a,子类有一个对象b,将b赋给a,则a成为b对象的上转型对象。这里还有一个就是多态,多态是指使用父类对象时,父类对象只有一个,将多个子类的行为赋给父类,则父类会表现出不同的行为。多态通父-子重写为上转型,上转型是多态的表现方式。

 

 

方法重载

方法重写

概念

一个类中可以有多个方法具有相同的名字,但是这些方法的参数必须不同,即或者参数的个数不同,或者是参数的类型不同。

方法的名字参数个数、参数的类型和父类的方法完全相同。

举例

float hello(int a,int b){}

float hello(long a,int b){}

Double hello(double a,int b){}

 

Class A{

Float computer(float x,float y){return x+y;}...}

Class B extends A

{

Float computer(float x,float y){return x*y;}

 

 

 

普通类(非abstract类)

abstract类

区别

不可以有abstract方法

可以有abstract方法,也可以有非abstract方法

可以用new运算符

不能用new运算符创建对象

 

 

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

1、一个类的各个子类是怎样体现多态的?

通过重写方法。

  1. 子类可以有多个父类吗?

       不可以,因为java不支持多重继承。

  1. 父类的final方法可以被子类重写吗?

   不可以,因为不允许子类隐藏可以继承的final方法。

 

 

  • 其他(感悟)  

   这周比较特殊,纯理论,没有时间上机敲代码。但是这周的纯理论课的内容也很多,有一些比较容易理解,有一些太难理解了,特别是课本上的开-闭原则,但是我也懂得了很多。

 

  • 学习进度条

 

代码行数(新增/累积)

博客量(新增/累积)

学习时间(新增/累积)

重要成长

目标

5000行

30篇

400小时

 

第一周

10行

1篇

3小时

 

第二周

20行

2篇

10小时

 

第三周

20行

3篇

10小时

 

第四周

30行

4篇

3小时

 

第五周

50行

5篇

5小时

 

第六周

10行

6篇

5小时

 

 

猜你喜欢

转载自blog.csdn.net/LIU_JY_/article/details/83189522