首页 > 代码库 > 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 的主要类型:
主类型 | 类中定义的默认值 | 大小 | 最小值 | 最大值 | 封装器类型 |
boolean | false | 1-bit | - | - | Boolean |
char | ‘\u0000‘(null) | 16-bit | Unicode 0 | Unicode 216-1 | Character |
byte | (byte)0 | 8-bit | -128 | +127 | Byte[11] |
short | (short)0 | 16-bit | -215 | +215 – 1 | Short1 |
int | 0 | 32-bit | -231 | +231 – 1 | Integer |
long | 0L | 64-bit | -263 | +263 – 1 | Long |
float | 0.0f | 32-bit | IEEE754 | IEEE754 | Float |
double | 0.0d | 64-bit | IEEE754 | IEEE754 | Double |
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-一切都是对象