Java01(基础)

<补档>

自学java时的那些想法(一)

随着蓝桥杯boom的一声爆炸,终于下定了决心要认真学习了,回来也不看C了,捡起java从头开始。

今天是18年4月4日
花一下午看完了《java基础(一)》,内心丝毫没有波动,觉得只是大体上和C有点不同罢了,比如单词什么的......然后觉得很有意思的一件事就是C里的函数在java里被叫做方法,有参方法无参方法……

首先接触到的就是Arrays类,看完其中的sort() binarysearch()等方法后也是首次明白了程序员真的都是懒人……能偷懒的地方坚决不做无用功的= =

五日开始学习类与对象,学习了程序员找对象的方式——new关键字(然而并不能找到对象)。

  • 封装

使用封装的思想来保证程序的安全性,让用户没有办法修改类中的成员变量 而是使用SET/GET方法来修改

其实当我看到笔记上这么写的时候还是稍微犹豫了一下,毕竟封装的思想貌似并不止用于方法里成员变量的访问和修改,在无锡的学习使我明白了与其说是为了安全性,倒不如说使某块代码变的更纯粹。隐藏其熟悉和细节,只对外预留接口。
而后自然要接触到This关键字,在之后我学习js的时候又一次遇到了这个关键字,而每每当我使用它的时候,程序的可读性就会稍微变的有些奇怪- -

  • 继承
    说到继承首先要说到的就是extends关键字(废话。。)
    使用extends 关键字可以继承到父类的方法和属性,但使用final修饰的类属性或方法是不能被继承的
    然后是super(),用它调用父类的构造方法,默认为自动运行,手写写则需要位于方法内的第一行,同时我们知道,如果之类重写了父类的含参构造器而没有父类又没有重写无参构造器的话,在创建类对象时是会报错的,而使用super()关键字也是一样会报错的。
    在继承的内容里,接触到了toString ()方法,eclipse自带了重写toString()方法的功能,不重写的情况下会输出地址,重写会输出对象属性
    同时还接触到了另一个常用方法equals()方法,因为字符串的对比相对复杂,使用==判断已经不再适用,这时我们需要适用equlas()方法进行比对

其判断的顺序为 (先判读前后者是否指向同一内存,如果是,那么没有必要继续比较了,因为两者本身就是同一个东西;其次判断是否有一方为空,如果有,那么也没有必要继续比较,以为用两个空值作对比没有意义;然后对比两个对象的类型是否相同,如果相同 将两者类型统一化最后比较熟悉 得到两者是否相同)

tip:在之后的jsp学习中遇到了一种情况:

...
if(UserName.equals("admin"){
    ......
  }
...

在获取了表单数据后尝试做比对时,如果表单里并没有获取到数据,则会抛出NullPointerException异常(-_-||一个没有指针的语言抛出了空指针异常),而解决方法仅仅是将字符常量与变量交换位置,使用"admin"去调用equals()方法。

<笔记按时间整理>

你可能感兴趣的:(Java01(基础))