2 回答
TA贡献217条经验 获得超353个赞
不用java的这些面象对象的特性,采用过程式开发一个项目,完全可以。问题是。。。非常麻烦。
所学的这些东西都是工具,等到你真的工作的时候就会慢慢体会到,如果不用这些特性,越庞大的项目越难维护。
============================
建议还是找一些小的项目(比如别人写的一个小游戏demo)然后观察代码中哪里用了封装、哪里用了多态、哪里用了接口。如果不用的话自己去写是什么样子的,能实现吗?能的话比这个麻烦还是比这个简单?多动脑思考多敲代码才会慢慢体会得到。
============================
既然你已经初步掌握了这几个特性,那么我出几个题考考你吧。
问题:print是一个方法,那么如下,同一个方法,参数不同(一个字符串,一个整型)都可以打印内容,这是为什么?用了java的什么特性?
System.out.print("ABC");
System.out.print(123);
===================================
以上用了java的静态多态性(方法的重载为静态多态,方法的重写为动态多态[即,运行时才能看知道执行的结果]多发生于子类与父类之间)。
换句话说,这就是两个同名的不同的方法。(如果打开java源码可以看到)。好处很显然,你只要关心要打印什么,具体打印是什么类型不用关心。
我想,如果换做是你要实现这个功能,可能会命名完全不同的两个方法吧。比如:
System.out.printString("ABC");
System.out.printInt(123);
System.out.printBoolean(false);
……
这样不用java多态性的重载方式解决问题,每一个都要去记打印类型对应的方法名,多麻烦。
=======================================
PS:加油哈,good luck!
添加回答
举报