以前本身学习Java就是以系统的角度去学习,就是咱们把这些知识点罗列出来,而后作一个全面的学习。这样的的确确能够将知识点都学习全面,可是本身理解上来讲仍是很浅层次的。若是一段时间没有去使用Java我以为本身仍是会忘记,因此去理解为何对于学习Java是很重要的。java
上节咱们从语言的角度去分析,语言就是描述人类的想法和同时让计算机辨识的一种标识。根据这个语言是偏向咱们人类好理解,仍是计算机好理解能够分为,面向过程语言和面向对象的语言。Java就属于面向对象的语言。程序员
那么面向对象语言,咱们主要去理解的就是这个对象,咱们编写程序就是去操做这个语言。
那么:编程
·Java是怎么去操做这个对象的呢? ·同时这个对象怎么生成的? ·咱们又怎么去区分这么多对象呢? ·对象的存在应该有空间,那么对象存储在哪呢? ·有开始就有结束,有生成就有销毁,那么Java是怎么销毁一个对象的呢? ·还有就是是否是真的就是一切都是对象,有没有一些特例呢? ·最后面咱们写的程序应该就是不少个对象的组合和操做,他们之间是怎么运做的呢?咱们这一节就是面对这些问题,咱们对对象的理解就会更加深入。
Java是用引用(reference)去操做对象,用字符串去解释这个引用。函数
String s;
那么这个s就是引用,那么咱们这样是否是能够操做对象了。不行,由于咱们尚未建立对象,没有对象给咱们操做,直接运行是会报错的。这也是咱们编程中常常会遇到的空指针异常。学习
Java使用new关键字来建立对象。优化
String s1 = new String(“hello”); String s2 = “hello”;
String字符串比较特殊,能够直接使用””来建立对象。那么这些建立好的对象到底存储在哪里呢?spa
除此以外这些都是对象的数据的存储位置等等一些知识,那么Java当中还有一些特殊的数据类型。按照面向对象的思想,一切都是对象,无论什么数据都应该是对象,可是Java对于一些基础的数据类型为了运行效率和内存的优化,将8个基本类型进行了特殊处理。同时针对8个基本类型的存储的大小的限制有了BigDecimal和BigInteger进行扩展。
咱们知道Java是如何存储数据以后咱们如何去分辨这么多对象呢?指针
Java中使用Class这个关键字来建立新的对象类型,也就是经过Class 来分辨对象。更加具体的是类里面的内容--域和方法。code
域就是咱们一般所说的成员变量。这里面须要注意的是,若是咱们初始化的话,Java程序通常会给一些默认值8个基本类型通常给一个0,引用类型给一个null。因此咱们须要初始化这些成员变量。可是这种给与默认值的状况不适合方法里面的局部变量。对象
方法在之前常常认为是函数,可是本书有一个说法更加能体现他做用,就是接受一个消息进行操做。
认识完这些以后咱们是否是能够随便的使用建立好的对象呢?
Java跟C语言和C++语言都是经过花括号来限定变量名的可见性。
最后咱们建立了实例咱们须要控制他的销毁。
Java经过GC垃圾处理机制销毁实例,这部分不须要程序员去控制。
以上就是咱们对对象的理解,那么是否是有须要将一些方法单独拿出来,这个方法不属于任何对象,这个时候咱们处理?
使用static关键字,分static修饰的成员变量和成员方法。这些变量和成员方法能够每个对象共享。
咱们理解完对象以后,咱们就须要将这些对象组合起来,运行成一个Java程序。
咱们使用class建立一个新的类型,若是咱们使用了相同的名字在不一样的包下建立咱们怎么知道他们之间的区别呢?这里就须要将类标注在那个包下。
同时咱们使用其余的类型的时候咱们怎么知道咱们选择的是哪一个对象呢?因此须要使用import关键字来引用具体的类型。去识别。
全部命名规则必须遵循如下规则: