浅谈《think in java》:二 一切都是对象
清晨坐在图书馆,今天聊聊早晨的“果实”。
清单1. 引用操作;对象创建;存储地方;基本类型;数组
“reference”:引用[操作对象的标识符]
例子:创建String类型的引用,并不是对象。
String s;
安全一种例子:[创建引用并初始化]
String s = "ss";
“new”:使引用和新对象关联[对象创建操作符]
例子:
String s = new String("objects");
存储:1寄存器 2堆栈 3堆 4常量存储 5非RAM存储[一般java对象存储在堆。]
基本类型:[java每种基本类型存储空间大小不变性 => 程序的可移植性强 ]
内容:
数据类型 大小 范围 默认值 [bit] byte(字节) 8 -128 - 127 0 shot(短整型) 16 -32768 - 32768 0 int(整型) 32 -2147483648-2147483648 0 long(长整型) 64 -9233372036854477808-9233372036854477808 0 float(浮点型) 32 -3.40292347E+38-3.40292347E+38 0.0f double(双精度) 64 -1.79769313486231570E+308-1.79769313486231570E+308 0.0d char(字符型) 16 ‘ \u0000 - u\ffff ’ ‘\u0000 ’ boolean(布尔型) 1 true/false false
非基本对象表示,包装,反转
char c = 'x';
Character ch = new Character(c);
相当于:
Character ch = new Character('x');
包装[java SE5的自动包装]
Character ch = 'x';
反向转换
char c = ch;
“null”:关键字[创建引用数组。初始化的特定值]
清单2. 作用域,类[字段+成员]
“scope”:作用域[由花括号决定]
{ int x = 1; { int y = 2; } }
【警告】java中不能这样[这里x已经定义过了。而c++,c中会把大作用域的变量“隐藏“]
{ int x = 1; { int x = 2; } }
“class”:[创建类的关键字]
字段:任何对象,基本类型,...
方法:可有参数,可有返回值
public class DataOfLi { //字段 int i; boolean b; DataOfLee dataOfLee = new DataOfLee(); //测试main方法 public static void main(String[] args) { DataOfLi data = new DataOfLi(); //赋值 data.i = 1; System.out.println(data.i); //调用字段里面对象的函数 data.dataOfLee.show(); } } class DataOfLee { int i; void show(){ System.out.println("DataOfLee"); } }
[对象,方法,字段中间”.“连接]
清单3, static ,java程序,编码风格
“static”:[意味着这个域不与任何对象实例关联]
static为它的成员指定了单一存储空间
public class DataOfLi { //字段 static int i; public static void main(String[] args) { DataOfLi data1 = new DataOfLi(); DataOfLi data2 = new DataOfLi(); data1.i; data2.i;
DataOfLi.i;
} }
data1.i;
data2.i;
指向同一个存储地址。
DataOfLi.i;
直接用类名可以找到
“main”开始
public class HelloDate { public static void main(String[] args) { System.out.println("Hello,it is fine."); } }
System.out.println: java.lang => system => out => PrintSystem 中[println]
{static 用处}
args: [用来存储命令行参数]
编码规范:
http://blog.163.com/josephn_2001/blog/static/985778120081305835230/
好,饿了 吃饭....