1.数组
、数组时很多变量组成的一块内存空间,这些变量的内存地址是连续,我们找到第一个变量之后,就可以知道其他变量的地址,通过这种方向可以减少内存扫描的时间。
、数组下标从0开始,表示第一个元素与首地址的偏移量为0
特点:
数组时一个连续的空间最大下标为len-1
数组的每个元素都是变量
创建时每个元素自动初始化
创建后长度不能改变
2. 静态变量和成员变量的区别:
①、静态变量时所有对象共享的,是唯一的,成员变量属于每个对象,每个对象都有各自的属性,静态变量一旦更改,会影响所有对象。
②、凡是static修士的属性或方法,加载都在对象之前,static方法无妨访问成员变量(成员变量时new对象时才产生)
③、成员变量依赖于对象,随对象产生而产生,随对象销毁而销毁,而静态变量在类加载时就会产生,一直常驻内存。
④、静态变量可以用类名直接访问,也可以通过对象访问,静态变量又叫类变量。
3.面向对象
一种认识事物的方式,注重事物整体的认知,最符合人类自然的思维习惯。
对象时存在的具体实体,具有明确定义的特征和行为
万物皆对象 对象因我关注而产生
类是具有相同属性和行为的一组对象的集合。
在软件系统中,我们用类来模拟现实生活中的实体
注:类是对象的抽象 对象时类的一个实体
4、内存
堆空间: 存放 new(对象)包括成员变量(随对象产生而产生,随对象销毁而销毁)
栈空间: 局部变量(当方法或语句块结束时,马上释放)
数据段: 类变量、常量(常驻内存空间)
代码段: 方法定义等
5、引用传递
public class MethodTest {
/**
* @param args
*/
public static void main(String[] args) {
int i = 10;
Person p1 = new Person();
p1.age = 14;
Person p2 = new Person();
p2.age = 17;
test(i,p1,p2);
System.out.println(i+" "+p1.age+" "+p2.age);
}
public static void test(int i,Person p2,Person p1){
i = 13;
p1 = p2;
p1.age=8;
p2.age= 9;
p1 = new Person();
p1.age=11;
p2.age= 16;
}
}
6、//创建资源文件对象
Properties pro = new Properties();
try {
//将文件中的键值对读取到pro对象中
pro.load(new FileReader("src/info.txt"));
} catch (Exception e) {
System.out.println("文件不存在");
}
//根据键得到值,如果键不存在则返回空
String ages= pro.getProperty("age");
String names= pro.getProperty("name");
System.out.println(ages+" "+names);
、数组时很多变量组成的一块内存空间,这些变量的内存地址是连续,我们找到第一个变量之后,就可以知道其他变量的地址,通过这种方向可以减少内存扫描的时间。
、数组下标从0开始,表示第一个元素与首地址的偏移量为0
特点:
数组时一个连续的空间最大下标为len-1
数组的每个元素都是变量
创建时每个元素自动初始化
创建后长度不能改变
2. 静态变量和成员变量的区别:
①、静态变量时所有对象共享的,是唯一的,成员变量属于每个对象,每个对象都有各自的属性,静态变量一旦更改,会影响所有对象。
②、凡是static修士的属性或方法,加载都在对象之前,static方法无妨访问成员变量(成员变量时new对象时才产生)
③、成员变量依赖于对象,随对象产生而产生,随对象销毁而销毁,而静态变量在类加载时就会产生,一直常驻内存。
④、静态变量可以用类名直接访问,也可以通过对象访问,静态变量又叫类变量。
3.面向对象
一种认识事物的方式,注重事物整体的认知,最符合人类自然的思维习惯。
对象时存在的具体实体,具有明确定义的特征和行为
万物皆对象 对象因我关注而产生
类是具有相同属性和行为的一组对象的集合。
在软件系统中,我们用类来模拟现实生活中的实体
注:类是对象的抽象 对象时类的一个实体
4、内存
堆空间: 存放 new(对象)包括成员变量(随对象产生而产生,随对象销毁而销毁)
栈空间: 局部变量(当方法或语句块结束时,马上释放)
数据段: 类变量、常量(常驻内存空间)
代码段: 方法定义等
5、引用传递
public class MethodTest {
/**
* @param args
*/
public static void main(String[] args) {
int i = 10;
Person p1 = new Person();
p1.age = 14;
Person p2 = new Person();
p2.age = 17;
test(i,p1,p2);
System.out.println(i+" "+p1.age+" "+p2.age);
}
public static void test(int i,Person p2,Person p1){
i = 13;
p1 = p2;
p1.age=8;
p2.age= 9;
p1 = new Person();
p1.age=11;
p2.age= 16;
}
}
6、//创建资源文件对象
Properties pro = new Properties();
try {
//将文件中的键值对读取到pro对象中
pro.load(new FileReader("src/info.txt"));
} catch (Exception e) {
System.out.println("文件不存在");
}
//根据键得到值,如果键不存在则返回空
String ages= pro.getProperty("age");
String names= pro.getProperty("name");
System.out.println(ages+" "+names);