摘要:一切都是对象之前自己学习就是以系统的角度去学习,就是我们把这些知识点罗列出来,然后做一个全面的学习。按照面向对象的思想,一切都是对象,不管什么数据都应该是对象,但是对于一些基础的数据类型为了运行效率和内存的优化,将个基本类型进行了特殊处理。
一切都是对象
之前自己学习Java就是以系统的角度去学习,就是我们把这些知识点罗列出来,然后做一个全面的学习。这样的的确确可以将知识点都学习全面,但是自己理解上来说还是很浅层次的。如果一段时间没有去使用Java我觉得自己还是会忘记,所以去理解为什么对于学习Java是很重要的。
上节我们从语言的角度去分析,语言就是描述人类的想法和同时让计算机辨识的一种标识。根据这个语言是偏向我们人类好理解,还是计算机好理解可以分为,面向过程语言和面向对象的语言。Java就属于面向对象的语言。
那么面向对象语言,我们主要去理解的就是这个对象,我们编写程序就是去操作这个语言。
那么:
·Java是怎么去操作这个对象的呢? ·同时这个对象怎么生成的? ·我们又怎么去区分这么多对象呢? ·对象的存在应该有空间,那么对象存储在哪呢? ·有开始就有结束,有生成就有销毁,那么Java是怎么销毁一个对象的呢? ·还有就是是不是真的就是一切都是对象,有没有一些特例呢? ·最后面我们写的程序应该就是很多个对象的组合和操作,他们之间是怎么运作的呢?我们这一节就是面对这些问题,我们对对象的理解就会更加深刻。Java怎么操作对象?
Java是用引用(reference)去操作对象,用字符串去解释这个引用。
String s;
那么这个s就是引用,那么我们这样是不是可以操作对象了。不行,因为我们还没有创建对象,没有对象给我们操作,直接运行是会报错的。这也是我们编程中经常会遇到的空指针异常。
Java怎么创建对象?Java使用new关键字来创建对象。
String s1 = new String(“hello”); String s2 = “hello”;
String字符串比较特殊,可以直接使用””来创建对象。那么这些创建好的对象到底存储在哪里呢?
Java怎么存储对象?除此之外这些都是对象的数据的存储位置等等一些知识,那么Java当中还有一些特殊的数据类型。按照面向对象的思想,一切都是对象,不管什么数据都应该是对象,但是Java对于一些基础的数据类型为了运行效率和内存的优化,将8个基本类型进行了特殊处理。同时针对8个基本类型的存储的大小的限制有了BigDecimal和BigInteger进行扩展。
我们知道Java是如何存储数据之后我们如何去分辨这么多对象呢?
Java中使用Class这个关键字来创建新的对象类型,也就是通过Class 来分辨对象。更加具体的是类里面的内容--域和方法。
域就是我们通常所说的成员变量。这里面需要注意的是,如果我们初始化的话,Java程序一般会给一些默认值8个基本类型一般给一个0,引用类型给一个null。所以我们需要初始化这些成员变量。但是这种给与默认值的情况不适合方法里面的局部变量。
方法在以前经常认为是函数,但是本书有一个说法更加能体现他作用,就是接受一个消息进行操作。
认识完这些之后我们是不是可以随便的使用创建好的对象呢?
Java跟C语言和C++语言都是通过花括号来限定变量名的可见性。
最后我们创建了实例我们需要控制他的销毁。
Java通过GC垃圾处理机制销毁实例,这部分不需要程序员去控制。
以上就是我们对对象的理解,那么是不是有需要将一些方法多带带拿出来,这个方法不属于任何对象,这个时候我们处理?
使用static关键字,分static修饰的成员变量和成员方法。这些变量和成员方法可以每一个对象共享。
我们理解完对象之后,我们就需要将这些对象组合起来,运行成一个Java程序。
我们使用class创建一个新的类型,如果我们使用了相同的名字在不同的包下创建我们怎么知道他们之间的区别呢?这里就需要将类标注在那个包下。
同时我们使用其他的类型的时候我们怎么知道我们选择的是哪个对象呢?所以需要使用import关键字来引用具体的类型。去识别。
项目名:全部小写。
包名:全部小写
类命名规范:使用帕斯卡命名法 即pascal命名法。做法是首字母大写,如UserName,常用在类的变量命名中。
方法和属性:使用匈牙利命名法。做法就是只是首字母为小写,如userName。
常量名:全部大写。
所有命名规则必须遵循以下规则:
名称只能由字母、数字、下划线、$符号组成
不能以数字开头
名称不能使用JAVA中的关键字。
坚决不允许出现中文及拼音命名。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/73639.html
摘要:一引用操纵对象在的世界里,一切都被视为对象。特点创建程序时,需要知道存储在栈内所有数据的确切生命周期,以便上下移动堆栈指针。因为,指向同一块内存空间除了通过对象引用静态变量,我们还可以通过类直接引用静态变量 一、引用操纵对象 在Java的世界里,一切都被视为对象。操纵的标识符实际上是对象的引用, 例如:遥控器与电视的关系。 可以在没有对象关联的情况下,拥有一个引用。没有电视机,也可以拥...
摘要:方法的基本组成包括名称参数返回值方法体方法名和参数列表唯一的标识出某个方法。如果返回的类型是,则的作用仅是退出方法否则必须返回正确的返回值包名名字可见性约定以域名反转作为包名,用来划分子目录,并且全部小写。 点击进入我的博客 2.1用引用操纵对象 尽管一切都看作对象,但操纵的标识符实际上是对象的一个引用。 String s; // s是一个String类型的引用, 并没有任何对象与其...
摘要:但是,中并没有类的概念,而是通过构造函数替代了类的功能,为某一类的对象提供共同的属性和方法。一只名叫的狗,首先继承了构造函数的原型对象,而的原型对象中的有继承了函数的原型对象,函数对象中的有继承了的原型对象。 《圣经》里的第一章创世纪中其中有一段经典记载上帝是如何创造人的。神说:我们要照着我们的形象,按照我们的样式造人。不谋而合的是,JavaScript中似乎也遵循着上帝的旨意去创造程...
摘要:好吧,事实上,类本身也是实例,当然,它们是元类的实例。中的一切都是对象,它们要么是类的实例,要么是元类的实例,除了。 写在最前面 一些很重要的知识,我的写得有点乱,也可以去看这些文章 Python 面向对象(初级篇) Python 面向对象(进阶篇) 深刻理解Python中的元类(metaclass) 首先来看一个例子,正常情况下我们定义并且实例一个类如下 class Foo(ob...
阅读 1581·2021-10-18 13:35
阅读 2360·2021-10-09 09:44
阅读 814·2021-10-08 10:05
阅读 2709·2021-09-26 09:47
阅读 3561·2021-09-22 15:22
阅读 428·2019-08-29 12:24
阅读 1995·2019-08-29 11:06
阅读 2855·2019-08-26 12:23