首页 > 代码库 > Java学习笔记2-一切都是对象

Java学习笔记2-一切都是对象


创建句柄:String s = "abc";

创建对象:String s= new String("abc");


程序运行时数据可能保持的位置:

寄存器(register):最快的,但是有编译器分配,我们没法控制

堆栈(stack):存在于 RAM 区域,Java 对象句柄/引用和基础类型的变量值会存放在这里

堆(heap):堆里分配存储空间会花掉更长时间,Java 对象实例和数组会保存在这里

静态存储(static storage):RAM 中的固定位置,使用 static 关键字修饰的元素存储在这里

常量存储(constant storage):存储在程序代码内部

非 RAM 存储:如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在


Java 的主要类型:

主类型类中定义的默认值大小最小值最大值封装器类型
booleanfalse1-bit--Boolean
char‘\u0000‘(null)16-bitUnicode 0Unicode 216-1Character
byte(byte)08-bit-128+127Byte[11]
short(short)016-bit-215+215 – 1Short1
int032-bit-231+231 – 1Integer
long0L64-bit-263+263 – 1Long
float0.0f32-bitIEEE754IEEE754Float
double0.0d64-bitIEEE754IEEE754Double
void
---Void1

高精度数字的封装器类型:BigInteger 和 BigDecimal

主类型如果在类中进行定义时,都有默认值,默认值如上表,但是如果在类之外进行定义,则会得到随机值,所以需要显性初始化

主类型可以直接使用等号(=)的方式进行初始化,其他封装器类型或自定义类型则必须使用 new 关键字进行实例化


数组:Java 支持对于数组的处理,而且比 C++ 更安全


对象引用的作用域:花括号括起来的范围,花括号终点的地方会释放引用占用的内存

对象的作用域:不受花括号限制,即使其引用被释放,对象也不会被释放,而是等到垃圾收集器检查到其不再被引用时进行释放


定义类:class ClassName{ //some code };

实例化类:ClassName newClass = new ClassName();

类里面可以包含数据和方法,引用类里面的数据和方法的方式是使用句点(.)和对象连接(比如 newClass.i)


定义方法:返回类型 方法名( /* 自变量列表*/ ) {/* 方法主体 */}

Java 的方法只能作为类的一部分创建,调用方式也是和对象使用句点(.)进行连接

方法支持使用参数


可以使用域名反转的方式来定义 Java 的 package

Java 消除了向前引用的问题,所以可以在前面引用后面定义的方法

可以使用 import 关键字导入当前程序需要引用的类

static 定义的方法和数据,可以不进行实例化就直接使用,比如 ClassName.i、ClassName.fun()


java.lang 类库默认导入了所有的类库中,所以不需要显示导入

可以使用如下语句来达到暂停输出的效果:

try {

Thread.currentThread().sleep(5 * 1000);

}

catch(InterruptedException e) {}

}


//这是一个单行注释

/*这是一个多行

多行注释

*/

/**这是一个文档注释*/

javadoc 只能为 public(公共) 和 protected (受保护)成员处理注释文档,命令行:javadoc -linksource xxx.java全路径

所有类型的注释都支持嵌入 HTML

可以使用特殊的标记引用其他类(加上超链接),如@see:引用其他类

@version 版本信息

@author 作者信息

@param 参数信息

@returm 返回值信息

@exception 异常处理信息

@Deprecated 过期说明信息

类名的单词首字母全大写,变量和方法的首字母小写其他单词首字母大写



长按关注「我在编程」

技术分享

多看 | 多想 | 多练

不积跬步无以至千里



本文出自 “我在编程” 博客,请务必保留此出处http://sylan215.blog.51cto.com/681991/1923855

Java学习笔记2-一切都是对象