美文网首页
一切都是对象小概念

一切都是对象小概念

作者: Adamchenk1 | 来源:发表于2017-06-22 21:15 被阅读0次

用引用操作对象

尽管一切都看做对象,但操纵的标识符实际上是对象的一个“应用”(reference)。 应用就像遥控器,对象就是电视,只要握住遥控器就能控制电视。 拥有一个引用,并不一定需要有一个对象于他关联,用String 举例(这里暂时不考虑String常量池等,只是简单打个比方)

String s;     //只是创建了一个引用, 此时向s发送消息,就会返回一个运行时错误,因为s没有与任何事物相关联

String s = "asdf"    //安全的做法是在创建一个引用的同事做初始化。这里用到了Java语言的一个特性,字符串可以用带引号的文本初始化。通常必须对对象采用一种更通用的初始化方法。

必须由你创建所有对象

一旦创建了一个引用,就希望它能于一个新的对象关联。通常通过new操作符来实现,new关键字意思是“给我一个新对象”

String s = new String("asdf");

通常有5个不同的区域可以存储数据,分别是   1.寄存器    2.堆栈   3.堆   4.常量存储   5.非RAM存储。

Java中的对象在被存储在堆当中。 堆是一种通用的内存储(也位于RAM区),编译器不需要知道存储在堆里的数据存活多久,当需要一个对象时,只需要用new写出一行简单代码,执行这行代码的时候,会自动在堆里进行存储分配。下面的特例类型则被存储于堆栈中。

特例:基本类型

Java当中有一些基本类型,这些类型是特别小的简单的变量,因此没必要当对象存储在堆当中,他们不用new来创建,而是创建一个并非是引用的“自动”变量。这个变量直接存储“值”并置于堆栈中,因此更加高效。

boolean 类型没有明确大小,仅定义为truefalse

基本类型具有的包装器类,是的可以在堆中创建相对应的非基本对象,用来表示基本类型。

如果要高精度计算,可以使用Java提供的2个高精度计算类 BigInteger BigDecimal

永远不需要销毁对象

先来了解一下作用域(scope)的概念,作用域决定了在其内定义的变量名的可见性和生命周期,用“{}”决定作用域的位置。

Java中new出的对象,可以存活在作用域外, 例如

{

String s = new String ("aa");

}//end of scope

在作用域外,我们无法触碰到引用s,但是对象仍然存在,并且会保持下去。 

Java有一个垃圾回收器,用来监视new创建的所有对象,并且会辨别哪些不再会被引用的对象,随后释放这些对象的内存空间。

创建新的数据类型:类

当基本类型是成员变量时,Java会确保其拥有默认值 (只有在基本类型是成员变量时拥有),确保这些变量得到初始化。

方法,参数和返回值

方法名和参数列表(合起来称为方法签名)唯一的标识出某个方法。

Java中的方法只能作为类的补一份来创建,方法只能通过对象才能调用(static方法是针对类的调用)

调方法的行为被称为“发送消息给对象”, 例如

int x = a.f();

消息是f(),对象是a,面向对象的程序设计通常简单地归纳为“向对象发送消息”。

构建一个Java程序

为了避免名字冲突,Java通过几个关键字引入了名字空间的概念,使用反向Internet域名。

static关键字:当声明一个事物是static时,就意味着这个域或者方法不会与包含它的那个类的任何对象实例关联在一起。static作为字段时只有切共用一份存储空间,而非static字段则是每个对象有一个存储空间。static方法可以创建或使用当前类的对象,所以static方法尝尝被拿来做"牧羊人",负责看护同类型的实例群。

第一个Java程序

Java需要你import导入额外的类,除了一个类:java.lang.    java.lang将会被自动导入到每个Java文件中。

Java类的名字必须和文件名字相同。

Java需使用驼峰命名。

相关文章

  • 一切都是对象小概念

    用引用操作对象 尽管一切都看做对象,但操纵的标识符实际上是对象的一个“应用”(reference)。 应用就像遥控...

  • 深入理解JavaScript的原型(转载)

    原文链接 1)一切都是对象 “一切都是对象”这句话的重点在于如何去理解“对象”这个概念。 ——当然,也不是所有的都...

  • JavaScript高级

    1 面向对象操作 - 回顾对象的基本概念 - 面向对象的相关概念 - 面向对象的特征和操作的实现方式 - 小练习 ...

  • 写给Android/Java开发者的JavaScript精解(3

    在JavaScript中,对象是最重要的概念,因为除了基本数据类型,其他的一切都是对象。为此,JavaScript...

  • 抽象类与抽象方法

    抽象类 在面向对象的概念中一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是用来描述对象的。如...

  • 深入理解JavaScript的原型与原型链(继承)

    原型的基本概念 要想真正理解js的原型和原型链的概念,必须且只要记住以下几点即可: ▶ 一切都是对象(看似如此)。...

  • Python元类再谈

    在Python中一切都是对象,类型也是对象;类比类型和实例的概念,类型也必然有自己的类型,十分合理。事实上,类型的...

  • 深入理解javascript原型和闭包——一切都是对象

    接下来的几篇同标题文章皆是转载自王福朋 - 博客园 “一切都是对象”这句话的重点在于如何去理解“对象”这个概念。 ...

  • JS原型链

    重要的事情说三遍:一切都是对象,一切都是对象,一切都是对象! 该文章主要总结了关于js原型链的几个关键点,方便自己...

  • VBA-JC第5节|面向对象基本原理与Excel对象结构

    最近更新:'2019-05-14' 类与对象概念Excel对象结构 1. 类与对象概念 1.1面向对象的基本概念 ...

网友评论

      本文标题:一切都是对象小概念

      本文链接:https://www.haomeiwen.com/subject/wohfcxtx.html