1.操作的标识符是对象的一个引用。
通过对象的引用操作对象。
String s=new String ();
new String ()是一个对象,s记录的是new String ()的地址,而不是new String ()这个对象。
通过s操作new String (),所以说通过对象的引用操作对象。
如果遥控器和电视机的关系。
电视机是真正的对象,遥控器是对象的一个引用,一个对象可以有多个引用,一个引用指向一个对象。
遥控器可以随时随地的带到其他地方,只要拥有了遥控器就可以操作电视。
2.new关键字创建对象
new 的意思是给我一个新对象,使用new 会重新创建一个对象
3.对象存储位置
寄存器:比较快,位于处理器中,可存放资源较少。
堆栈(栈 ):仅次于寄存器,系统需要知道堆栈中所有项的确切的生命周期,便于堆栈指针上下移动放进或取出资源。
堆(内存堆 ):所有的对象都存储在堆上。编译器不知道堆中对象的存储时长。
常量存储(静态存储区)
非PAM存储区:流对象和持久化对象等的存储。持久化对象存储到磁盘中。
4.基本类型8个
基本类型,大小固定,存储于栈上,直接存储值。
boolean:存储空间未明确指定,只能为true或false
基本类型 | 大小 | 最小值 | 最大值 | 包装类型 | 默认值 |
byte | 8-bits | Byte | (byte)0 | ||
short | 16-bits | Short | (short)0 | ||
int | 32-bits | Integer | 0 | ||
long | 64-bits | Long | 0L | ||
float | 32-bits | Float | 0.0f | ||
double | 64-bits | Double | 0.0d | ||
char | 16-bits | Unicode o | Unicode 2 | Character | '/u0000' null |
boolean | - | - | - | Boolean | false |
Character ch='x';
char c=ch;
public class exercise01 {
byte byte01;
short short01;
int int10;
long long01;
float float01;
double double01;
boolean boolean01;
char char01;
// byte01=0
// short01=0
// int10=0
// long01=0
// float01=0.0
// double01=0.0
// boolean01=false
// char01=
byte byte01;
short short01;
int int10;
long long01;
float float01;
double double01;
boolean boolean01;
char char01;
// byte01=0
// short01=0
// int10=0
// long01=0
// float01=0.0
// double01=0.0
// boolean01=false
// char01=
}
5.数组
创建数组对象,就是创建了一个引用数据。每个引用初始化特定值null
6.不需要销毁对象
垃圾回收器监视new创建的对象,并辨别哪些没有被引用进行销毁。所以我们不需要销毁对象
7、作用域
{开始 }结束
对象引用作用域在花括号开始时开始,结束时结束
但是new 关键字创建的对象,存活于作用域之外。
在花括号中创建了一个对象和对象的引用,花括号结束,对象的引用的生命周期在花括号结束时结束,但是对象的生命周期没有结束。垃圾回收器检查对象是否有被引用,没有则会销毁,对象的生命周期结束。
8.基本类型的变量作为类成员是初始化时会被设置默认值。
基本类型变量作为方法内局部变量初始化时不会设置默认值,必须设置初始化值,否则编译时编译器报错。
9.方法名和参数列表唯一的标识出某一个方法。
int x=f();
方法返回的类型应兼容接收参数的对象引用的类型。
10.方法调用传递参数,实际上传递的是方法的引用。
Static方法是针对类的调用,不依赖于对象。
11.return:任务已完成,离开此方法。
return作用退出方法,可以在任何地方返回,没必要到方法结束。
12.整个包名小写。包名一般是域名的反转
13.import:导入一个包,准确的告诉编译器需要的是什么类。
如果一个类在多个包中存在,使用的时候需要使用import关键字准确告诉编译器使用的是哪一个包下的类。
可以使用通配符*同时导入多个包。
java.lang默认导入每个java文件中,所以类可以直接使用。
14.static关键字:系统会为其分配单一存储空间,不与包含它的类的实例对象有关联。
无论包含它的类有没有对象实例,有多少个对象实例,都可以访问static关键字修饰的域或方法,且访问的是同一个域或方法。
访问方式:通过类实例对象访问 通过类名访问(推荐)
15.类的名字必须与文件名相同。
System.out.println(new Date()) newDate()对象自动转换为String类型。
16.编译 javac 运行 java
17.注释// /* */
javadoc 注释提取工具 /** */
Javadoc只能为public 和protected 成员进行文档注释。private成员可以使用-private进行标记,以便进行文档注释。
18.注释标签
@see 引用其他类
@version 版本说明
@author 作者
@since 指定早期的版本
@param 参数名 参数说明
@return 返回说明
@throws 异常名 说明
19.编码格式
类名首字母大写,每个单词首字母大写。
域或方法:首字母小写,每个单词首字母大写。