标签: 重新出发 (7)
重新出发000008-阅读文章“八_面向对象”
首先我们定义一组对象,分别为:Animal(动物),Primat(灵长类动物),Money(猴子),Person(人类) 而他们的关系是: 那么分别看代码: Aminal: package review.base.Java那些事儿.c8_oob; /** * 第八节,面向对象的相关内容存放在这里。 * * 动物类,动物类是相当抽象的对象,并没有具体的属性,所以可以是一个接口,也相对比较合理。 / public interface Animal { /* * 所有的动物都有eat(吃饭)的行为,但是不同的动物吃的行为是不一样的,所以无法具体的表述。 * 所以eat这个方法在Animal接口中是无法具体实现的。 / void eat(); } Primat: package review.base.Java那些事儿.c8_oob; /* * 灵长类动物继承了动物接口,所以也自动继承了动物eat(吃)的行为(继承的好处之一,不用重复写一次吃这个行为的代码) / public interface Primat extends Animal { /* * 灵长类动物是可以行走的,....
重新出发000006-阅读文章“六_Java基本数据类型和引用类型”
package review.base.Java那些事儿; import java.util.Arrays; import java.util.Objects; public class 六_Java基本数据类型和引用类型 { public static void main(String[] args) { int[] a = {1, 2, 3}; int[] b = {1, 2, 3}; System.out.println(a.equals(b)); System.out.println(Arrays.equals(a, b)); System.out.println("--------------正文开始,之前忽略--------------"); int int1 = 100; // 声明了一个基本数据类型并赋值 int int2 = int1; // 声明了int2,并赋值为int1 int1 = 500; // 为int1赋值为500 System.out.println("打印int1的值:" + int1); System.out.println("打印int2的值:"....
重新出发000005-阅读文章"String是一个很普通的类"。
package review.base.Java那些事儿; public class 五_String是一个很普通的类 { public static void main(String[] args){ TestSourceCodeString tscs = new TestSourceCodeString(); tscs.printString(); } } class TestSourceCodeString{ /** * 参考文章地址:https://zhuanlan.zhihu.com/p/27626724 */ public static final String imdoor = "我是源码入口"; public void printString(){ String str1 = new String("abc"); String str2 = new String("abc"); StringBuffer sbf = new StringBuffer("a"); sbf.append("b"); sbf.append("c"); System.out.println(st....
重新出发000004-阅读文章"Java中的数组"。
package review.base.Java那些事儿; public class 四_Java中的数组 { public static void main(String[] args){ TestArrays ta = new TestArrays(); ta.testObjectArrays(); ta.thinking(); } } class TestArrays{ public void testObjectArrays(){ // 第一种写法,直接{} char[] charArr1 = {'a','b','c'}; // 第二种写法,实例化数组并直接赋值 char[] charArr2 = new char[]{'J','a','v','a'}; // 第三种,先实例化,以后再赋值。 char[] charArr3 = new char[3]; charArr3[0] = '1'; charArr3[1] = '2'; charArr3[2] = '3'; /** * 参考文章地址:https://zhuanlan.zhihu.com/p/27584309 * * 经过....
重新出发000001-阅读文章"让人疑惑的Java代码"。
有些工作三四年的朋友问我,觉得很迷茫,技术水平如何再次提高,问了一下,朋友甚至连String这个类的源码都没有看过。
有时候,会去帮同事调试一下代码,调试过程中,发现其连JDK源码都还没关联上,工作中遇到不熟的API或出现问题,直接就打开百度去查,从来不关注一下底层实现。
还有一些朋友,工作了几年了,想跳槽居然还在背面试题,我好奇要了一份,点开看都是诸如:int和Integer有什么区别?数组有没有length()方法?String有没有length()方法?String和StringBuilder、StringBuffer的区别?HashMap和HashTable有什么区别?ArrayList和LinkedList有什么区别?HashMap的工作原理是什么?不禁有些好笑,我说你工作了这么多年,这些东西还需要背吗?难道不是作为一个Java程序员必需应该掌握的内容吗?可叹。
Java这门语言比较简单易用,常用的工具类集合类都封装好了,导致大部分人拿来就用,也不去想这里面是怎么实现的,做了哪些优化等等。
开这个小专栏,一是想帮助一下这个群体,把自己的一写见解分享出来。二是引导一下新手,更高效率的去学习Java,学习最好的方法是知其然并知其所以然。
----我就是这种人了,但是我意识到了。