A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© esaygoing 初级黑马   /  2018-4-13 01:15  /  973 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

考上就业班的我又来了。就业考试不难哦,基本理解了循环的使用,数组遍历,对象创建和方法调用,IO流的基本使用就能轻松过的哈。
说说就业班吧,刚过了一星期,感觉课程难度是一个缓慢上升的过程,也越来越偏向理解,毕竟学的越多,记忆的东西也越多,越来越需要理解了。刚开始每天的内容只有一个多小时,后面据说能达到三个多小时,瞬间感觉。每天老师都有要求我们总结,但不是一味的背或者照老师的总结搬,用自己的话复述出来比较好,理解万岁。

自己想了想,感觉好像也没学什么东西,好像就学了个类,类里面东西比较多而已。由于类是比较抽象的,我们就通过类来生成对象,通过具体的对象进行具体的操作。具体的那些语句大概就是像写作文一样的词语或者单个字了,就是拼写的格式比较难记忆。感觉还是以总分的形式来记忆比较好吧。

首先是类,暂时学的好像就二个:普通类和特殊类,当然这里没包括系统定义的那些类。普通类就是自己直接写的那些类,正常的继承正常的使用的类,没有什么抽象方法,有的只有成员变量和成员方法,如果有主函数的话,就把它当成测试类。特殊的类就有抽象类(可以有变量常量有构造方法抽象方法普通方法,不能实例化哦),接口(只能抽象方法和常量,也不能实例化哦),还有今天学的内部类,匿名类等等。类与类之间要么有关系,要么没关系,关系分两种,继承和实现。继承只能单一继承,然后实现可以多个实现,如果算上最近学习的多态,感觉实现差不多就算是一种多继承了。并且继承(实现)之间只有直系有多态关系,兄弟之间都算没有关系,自己理解感觉是因为子类继承父类或者实现接口,都会带上自己的特性,毕竟往上抽取的是共性,越往下,类的个性就越多,所以兄弟之间的多态转换感觉很多特有方法就是无中生有,今天就遇到了类型转换异常。至于匿名内部类,感觉好像就是对多态的一种实现。普通内部类的话感觉和方法差不多。(在调用内部类和普通类感觉差不多,都是先有对象然后调其中的成员变量和属性,当然静态先加载进内存的除外,静态的话可能需要来个内存图好好理解一下,暂时先不说静态……)

说完了类以后就是类包含的东西了,类里面的常变量比较好懂,然后就是构造方法和其他正常方法了。构造方法就是用来创建对象并且初始化其值的方法,一般创建对象时候用的new 类名(),其中的类名()就是调用的构造方法,当然括号中可以有参数也可以没有参数,按此将构造方法分成了有参无参构造。其他的方法可以根据修饰词、返回值类型分为各种 "奇奇怪怪" 的方法,哈,比如静态方法,受保护的方法,正常修饰的方法,具体根据各种修饰用的关键词来理解,各种组合很酷炫。返回值类型比较有用,象StringBuilder类中的append方法,每次调用都返回一个StringBuilder类型的对象,所以可以无限使用append( )方法,不停的往StringBuilder里面加东西。这里不得不说,有一句话很关键,不论什么时候都要明确你手上拿到的是什么东西,比如返回的是什么类型,String 还是int 还是对象什么的,或者你想输出的是什么东西,就比如今天课上的例子:
分析以下需求,并用代码实现,要求在控制台输出”HelloWorld”
        interface Inter {
                void show();
        }
        class Outer {
                //补齐代码
        }
        public class OuterDemo {
                public static void main(String[] args) {
                          Outer.method().show();
                  }
        }
       

首先看到的是主函数的最后一句话,也只有一句,这句话输出HelloWorld,从后往前看,只有对象才能调用方法,所以  Outer.method() 应该是返回了一个带有show()方法的对象,再看Outer.method();没有经过对象的创建就直接调用,所以method();应该是一个静态的方法,所以可以直接调用,于是乎直接就想到了Outer类中存在一个静态的方法method(),调用这个产生了一个对象(即返回值),这个对象的类中含有show()方法。这样就很容易补全了class Outer()中的代码。对象的操作无外乎就是属性的调用和方法的调用,感觉所有能用“.”点出其内部属性方法的都可以认为是对象(类),包括数组,字符串什么的,不管是系统的还是你自己写的。总的来说,类与对象,对象与对象之间的关系就是目前学的Java中的所有内容了。各种语句,运算符,无外乎就是对这些关系的实现手段,或者你的需求的实现手段。


当然,其中的各种关键字和语句什么的还是要自己好好了解其特性的,比如静态修饰的类,方法,变量等等在内存中的实现,类名直接调用方法或者属性等技巧,引用数据类型的地址指向问题。很多东西都可以自己试试,自己尝试过才能记忆更加深刻或者理解得更加深刻,毕竟老师上课不可能面面俱到,在每日完成基础任务的前提下,自己玩玩代码,尝试一下新的用法,或者在做作业的时候,时不时的把之前的学过的东西拿过来用用,融汇贯通才能学的流畅顺心。感觉同宿舍的大爷也是零基础,现在自己就玩的很6,用错了没关系,反正Eclipse很多都有 提示,看得懂就看,不然就翻译软件翻译一下,解决不了的讨论一下,不知不觉中就理解了。
真的感觉黑马的氛围特别好。或许只有自学过的人,才能感受到那种痛苦吧(Ps:我说的是零基础),虽然现在网上资料视频很多,但对于一些不那么热的课程,就没那么容易了,很多东西网上都找不到。还有就是理解很重要,单纯的被套路什么的真的很痛苦,尝试着多动脑,实在不行再记忆吧,或许慢慢就懂了,之前自己自学数据结构,对着书死背,抄几十遍,但是遇到题目还是不会做,现在真的忘得差不多了,希望以后能变聪明,慢慢理解学会吧。

好吧,感觉十几年没写过作文了,全篇尬聊,满嘴胡话,不过还是希望和大家分享一句话——苟日新,日日新,又日新。感觉选择程序员就是选择了一条终生学习的道路,希望大家一起进步,找到自己希冀的生活方式~


1 个回复

倒序浏览
厉害啊。。。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马