@[TOC]java系列
#先说明一下,本次写这系列纯属个人在学习java前收集网络上的相关知识点和阅读各中书籍后对其中的概念加以理解,我知道在没有经过一段时间的代码练习是无法完全理解其中的内容的,新手可以选择性看,大神可以绕道走,纯粹属于整理思路供自己学习。
因为第一本书是java核心技术白皮书,所以我打算从这本书概括起来,也不算概括只是说挑选其中的难点和有趣的地方来写,因为其实学编程这种东西,就像轮子哥所说:多造轮子多敲代码比看书重要。其实不是说看书不重要,而是如果按照书上所安排的顺序,从helloworld到变量到数组等等这个顺序学习,程序员很难从中获得乐趣,难以坚持。但是这并不妨碍我们先粗略的看一遍书,了解相应的概念,我的目地就是用我的一点时间,把这个世界用简短的话说一遍,给各位同学了解一下,就像费曼先生的学习方法一样。
1.了解历史是学习一门技术的不错的途径
2运用对比发现java与C++的异同之处
3.精妙的面向对象编程思想
难点一:字符串之枚举类型
1.事先把一个有限的集合里的变量定义下来,这样在后文的使用中就不容易发生错误
二:字符串可以拼接的原理背后
java设计者认为共享带来的效率比远比提取和拼接快,可以想象设计者把各种字符串放在公共的存储池单中
三:字符串是不是字符型数组?
其实就像char greeting[] = "hello“
java字符串更像char*指针,当用另外一个字符串替换greeting时,java进行了以下操作:
char temp = malloc(6);
strmcpy(temp,greeting,3);
strucpy(temp+3,“p!”,3)
greeting = temp;
原始的字符串放置在堆中,但是如果我们把一个小的字符串给一个大的时候时,也不会出现内存遗漏,因为java垃圾回收机制。
OOP面向对象编程
类是构造对象的模板或蓝图,类构造对象的过程称为创建类的实例,在JAVA中,所有的类都来自一个超类,也就是object。
通过扩展一个类来建立另外一个类的过程称为继承”,
对象的三个主要特征
对象的行为,对象的状态和对象的标识。传统的编程都是从顶部main函数开始编写程序,但是对于OOP老说,是从设计类开始,再往每个类当中添加方法(就像现在写博客,都是理论知识,还没有实践,等过段时间运用到的地方再来补充现在的东西)。
类之间的关系大致为依赖,聚合,继承*
如果一个类的方法操纵另外一个类的对象,就说是依赖,但是我们应该减少相互依赖的类的个数,就是让类之间的耦合度最小。