前言 |
上一篇博客中和大家一起学习了java中方法的使用和内存分析,本次将和大家一起学习自定义类和ArrayList集合。
正文 |
自定义类
类的定义和使用
类是一种引用数据类型,在前面的博客中为大家介绍过Scanner类和Random类,本次为大家介绍自定义类,用来描述(映射)现实生活中的事物。
类的定义格式
public class 类名{
数据类型 属性名称1;
数据类型 属性名称2;
…
}
通过类的定义格式,来进行手机类的描述
public class Phone {
/*
* 属性
*/
String brand;// 品牌型号
String color;// 颜色
double size; // 尺寸大小
}
类的使用格式
类的使用方式和使用引用数据类型Scanner类似 ,大致分为四步
//1、导包:我们可以将所有的类放到同一个文件夹下,可以避免导包 (此处没有导包)
public class Test {
public static void main(String[] args) {
//2、创建对象:定义了一个Phone类型的变量p
Phone p = new Phone();
//3、调用方法 目前的自定义类不涉及方法
//4、访问属性
/*
* 通过p,使用Phone中的属性
*/
//访问p中的brand品牌属性
p.brand = "苹果6s";
//访问p中的color颜色属性
p.color = "白色";
//访问p中的size尺寸大小属性
p.size = 5.5;
System.out.println("手机品牌为" + p.brand );
System.out.println("手机颜色为" + p.color );
System.out.println("手机尺寸大小为" + p.size );
}
}
内存分析
1、调用Main方法
方法区的Main() 方法复制一份到方法栈中, 方法压栈执行
2、Phone p = new Phone()
Jvm 在堆内存中开辟一块空间,存储phone对象;
同时对象的属性跟随Phone进入到堆内存中;
变量一进入堆内存中,第一件事情就是 赋予默认值
jvm 将对象的内存地址赋给 p ,以后对Phone 对象的属性赋值 就 直接操作 栈内存中的属性 。
ArrayList集合
在前面文章中我们一起学习了数组,它只能存储相同类型的数据,并且长度固定;某些情况下数组已经不能满足我们的需求了,JDK 中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。
这次先来和大家一起看最常见的一种集合 ArrayList集合,它属于引用数据类型。在ArrayList 内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList 会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。
集合的创建
//存储String类型的元素
ArrayList<String> list = new ArrayList<String>();
//存储int类型的数据
ArrayList<Integer> list = new ArrayList<Integer>();
注意 : ArrayList 集合中要存储的数据类型必须是引用数据类型,不能是基本数据类型。
集合中常用方法
import java.util.ArrayList; //导包
public class ArrayListDemo01 {
public static void main(String[] args) {
// 创建ArrayList集合
ArrayList<String> list = new ArrayList<String>();
// 向集合中添加元素
list.add("stu1");
list.add("stu2");
list.add("stu3");
list.add("stu4");
// 获取集合中元素的个数
System.out.println("集合的长度:" + list.size());
//遍历集合
for (int i = 0; i < list.size() ; i++) {
//通过索引,获取到集合中每个元素
int n = list.get(i) ;
System.out.println(n);
}
}
}
总结 |
感谢您的阅读,java中的自定义类和ArrayList集合中的一些东西先说到这里,咱们下期再会~~~