黑马程序员技术交流社区

标题: 学习经历 [打印本页]

作者: Thshky    时间: 2019-9-28 21:30
标题: 学习经历

来到黑马已经一个多月了,在这一个多月的时间里,我从初步认识Java到至今,已经开始学习到了数据库的部分。从开始的基础逻辑及语法,到了目前大量对象、方法的填塞。对于这些,我只想说:臣妾做不到啊!!!



我是一个JAVA小白,之前从来没有接触过JAVA语言的体系。我对于Java印象最深的地方,就在小时候每次使用长辈们的诺基亚手机打开游戏界面的时候,每次必将录入眼帘的就是一个大大的英文单词:JAVA,这让我对Java的影响特别的深刻。



我大学学习的专业是:电子信息工程,接触比较多的是数模电、数字电路芯片等硬件相关的知识。唯一和软件有关的就是,我们需要学习C语言,来实现数字芯片功能的实现。这可能是我唯一一次离Java最近的时候吧。


记得在刚开始来黑马学习Java的时候,我是十分忐忑的。学不会、学不懂、跟不上等词汇在我的心中反复的盘旋。可是当开始正式学习Java的时候,我发现Java的基础语法和C语言差不多,后来打听到,原来所有的编程语言的基础语法都是这些:if、for、while、switch等。基础语法锻炼的是人的基本的逻辑思维能力,顺序结构、选择结构、循环结构3大结构分布在我们生活中的方方面面。时间是按照顺序走的,滴答滴答一秒一秒的向前走,永远也不会回头;人生是按照选择结构走的,人生的道路就是由无数个分叉口组成的,每一次抉择都会导致巨大的变化,就像我选择来黑马一样,我希望在之后我能为此感到庆兴;日子是按照循环结构走的,一天又一天,一月又一月,一年又一年,岁岁年年反反复复。






到了后面,我开始学习Java最重要的一个特性,面向对象。世间万物都是一个对象,就像老天爷一样,统筹安排自然的演变,物种的进化。人鱼鸟树、花草树木、豺狼虎豹,都是一个又一个对象,而我们要做的就是将这些对象使用编程语言将其封装打包成计算机所能读懂的二进制数。或者说,我们要做的就是一个翻译官的工作,将世间万物翻译成Java,而Sun公司提供的Java则将Java翻译成二进制数。


然而很多人就会疑惑,Java应该如何创建类呢?我的认知是这样的:对一个类而言,所有的名词都是变量,所有的动词都是方法。名词代表着对象的属性,最简单的:姓名、年龄、生日,复杂一点的如:序列号等都属于名词的范畴。而走、跑、跳,得到(get)、解析(parse)等都属于动词的范畴。至于得到啥、解析啥,都是由需要被得到或解析的对象调用方法,来得到或解析成另一个对象或者变量,比如getConnection()就是由构造器得到连接。

有了类,就有了对象。天是一种很虚化的概念,而正是这种被虚化、统一的概念才能被定义类,就像人类。我们要为全人类的自由、民主而奋斗!!!讲个笑话。我们、人类这个东西太范畴了,而对象就是具体到某一个人身上。我要为了我的父母安养晚年而奋斗,我的父母就是两个对象,我也是个对象,我要执行的方法是奋斗,参数是我的父母,当然也有可能是其他人:老婆孩子、企业国家都可以,都可以定义为类,在具体化,比如说:国家:中国、企业:黑马。而方法体呢?我正在编写中,有可能要写一辈子。我认为这就是对象的定义。


那么接口呢?我认为有三种应用场景:


其一就是:当两个没有任何关系的对象,需要实现同一种功能的时候,我们就可以定义接口来进行对接。比如生活中最常用的USB接口、Type-C接口等,都是需要连接鼠标-电脑,手机-充电器,这就是两个对象通过实现同一个接口来实现某种功能的应用。以上这些大致可以使用“可以实现XXX功能”来概括,比如:可关闭的、可刷新的、可碰撞的、可死亡的,都是很多有关无关的东西都可以实现的,比如:人和墙,怎么都不可能继承同一父类(除了Object类),但是都有可以阻碍他人,而此时我们就可以定义一个“可阻碍的”(BlockAble)接口。大家可以去翻一下Java源码,有很多的都是XXXAble的接口,我们学过的就有SeriallzAble可序列化接口。


其二:我认为是不同的分类导致的接口的创建。举个例子,生物按照种族大致可以分为人类、动物和植物,也可以按照性别分为雄性和雌性。当我们定义生物类,然后定义人、动植物类继承生物类,再定义男人、女人、雄狮、雌狮,分别继承人、动物。但是我们发现男人和雄狮都拥有雄性的某些共有的特征、女人和雌狮都拥有雌性的某些共有的特征,我们可以定义两个接口:雄性接口和雌性接口,来让男人和雄狮、女人和雌狮分别继承两个接口,这样就可以实现某种同一功能。实际上这也后第一种有点相似。


至于最后,就是函数式接口,可以方便我们用来更好的简化我们的代码。当然就目前而言除了Stream流,我没有在其他地方使用过,理解也不太深刻,就不多做描述了。


然后,就到了大量常用对象如:录入、随机、字符串、数学、日期、集合、线程、文件、输入输出、客户端服务端、Jdbc中的连接、执行sql、返回的结果等大量的类及其常用方法的学习。关于这些,我只能说被单词吧,只要能理解类与对象的意义,再多的学习也只是举一反三的结果,至于经常使用,就是多敲代码、背单词,毕竟Java是外国人发明并制定规则的,没办法天然劣势,希望有哪一天国人大牛们可以自行编写并定义一款属于中国自己的编程语言与编程规则。




作者: 柠檬leung不酸    时间: 2019-10-11 11:07
今天很残酷 明天更残酷 后天很美好,坚持:5_229:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2