根据你现在的情况了来看,你没必要把下一步要做什么考虑的那么清楚。写代码就是用计算机语言完成人希望它做的一件事情。再好的代码,脱离了实际的业务需求场景也没有意义。你只需要考虑要实现一个什么样的效果或者功能,用程序该怎么实现,到这了你就知道下一步该干嘛了。 重构,从字面上就是重新构建的意思。比如你现在接手了一个别人开发过的项目,里面有一些业务变了,需要改代码,这个时候就是重构了。 重写一般和重载对刚学习编码的人来说是有点困惑。 重写,字面上就是重新写。那就是说,已经有了,现在重新写一下。至于重写的内容和原有的一样还是不一样那就是你自己决定了。比如你有一个父亲类,里面有个走路的方法,一步跨一米,现在你写一个儿子类,继承父亲类,儿子一步跨不了一米,所以你需要重写这个走路方法,方法名都是走路,但内容变了,儿子每次只跨半米。所以重写在子类。 重载,字面上还真不好解释。比如你在类里写了两个方法名一样的方法,你现在想调用其中一个,你怎么知道你要调哪个呢,最直接的方法就是根据参数列表来判断。这个传个int,那个传个String,或者这个你传两个int,那个还是一个String,只要能区分开就可以,这时候你自己分得清,虚拟机也可以分清你想调哪个。所以重载在本类。 不管重载还是重写,首先方法名肯定都是相同的,不然就体现不出重的意义。 话说我当时刚学的时候一直也搞不清楚这些关系。
[quote=引用 6 楼 u014631034 的回复:] [quote=引用 4 楼 zhh123sy001 的回复:] 根据你现在的情况了来看,你没必要把下一步要做什么考虑的那么清楚。写代码就是用计算机语言完成人希望它做的一件事情。再好的代码,脱离了实际的业务需求场景也没有意义。你只需要考虑要实现一个什么样的效果或者功能,用程序该怎么实现,到这了你就知道下一步该干嘛了。 重构,从字面上就是重新构建的意思。比如你现在接手了一个别人开发过的项目,里面有一些业务变了,需要改代码,这个时候就是重构了。 重写一般和重载对刚学习编码的人来说是有点困惑。 重写,字面上就是重新写。那就是说,已经有了,现在重新写一下。至于重写的内容和原有的一样还是不一样那就是你自己决定了。比如你有一个父亲类,里面有个走路的方法,一步跨一米,现在你写一个儿子类,继承父亲类,儿子一步跨不了一米,所以你需要重写这个走路方法,方法名都是走路,但内容变了,儿子每次只跨半米。所以重写在子类。 重载,字面上还真不好解释。比如你在类里写了两个方法名一样的方法,你现在想调用其中一个,你怎么知道你要调哪个呢,最直接的方法就是根据参数列表来判断。这个传个int,那个传个String,或者这个你传两个int,那个还是一个String,只要能区分开就可以,这时候你自己分得清,虚拟机也可以分清你想调哪个。所以重载在本类。 不管重载还是重写,首先方法名肯定都是相同的,不然就体现不出重的意义。 话说我当时刚学的时候一直也搞不清楚这些关系。
[quote=引用 4 楼 zhh123sy001 的回复:] 根据你现在的情况了来看,你没必要把下一步要做什么考虑的那么清楚。写代码就是用计算机语言完成人希望它做的一件事情。再好的代码,脱离了实际的业务需求场景也没有意义。你只需要考虑要实现一个什么样的效果或者功能,用程序该怎么实现,到这了你就知道下一步该干嘛了。 重构,从字面上就是重新构建的意思。比如你现在接手了一个别人开发过的项目,里面有一些业务变了,需要改代码,这个时候就是重构了。 重写一般和重载对刚学习编码的人来说是有点困惑。 重写,字面上就是重新写。那就是说,已经有了,现在重新写一下。至于重写的内容和原有的一样还是不一样那就是你自己决定了。比如你有一个父亲类,里面有个走路的方法,一步跨一米,现在你写一个儿子类,继承父亲类,儿子一步跨不了一米,所以你需要重写这个走路方法,方法名都是走路,但内容变了,儿子每次只跨半米。所以重写在子类。 重载,字面上还真不好解释。比如你在类里写了两个方法名一样的方法,你现在想调用其中一个,你怎么知道你要调哪个呢,最直接的方法就是根据参数列表来判断。这个传个int,那个传个String,或者这个你传两个int,那个还是一个String,只要能区分开就可以,这时候你自己分得清,虚拟机也可以分清你想调哪个。所以重载在本类。 不管重载还是重写,首先方法名肯定都是相同的,不然就体现不出重的意义。 话说我当时刚学的时候一直也搞不清楚这些关系。
50,523
社区成员
85,601
社区内容
加载中
试试用AI创作助手写篇文章吧