1.类的概念:将现实生活中的事物抽象成了代码(类),我们可以使用自定义的数组类型(类)来描述现实生活中的事物。
2.分析:用一部手机来分析,手机可以打电话,上网,听音乐,这些就是方法,手机有型号,颜色,大小,这些就是属性。
举例:
写一个手机类,
public class Phone{ String color; String brand; double size; }
写一个测试类,和手机类在一个文件夹下,
public class TestPhone{ public static void main(String[] args){ Phone p = new Phone(); p.color = "whilte"; p.brand = "vivo"; p.size = 5.0; System.out.println(p.color+" "+p.brand+" "+p.size+"寸"); } }
运行结果:
内存分析:
1.TestPhone.class进入方法区,只有一个main方法
2.Phone.class进入方法区,有三个属性
3.main方法进入栈中运行
4.在new Phone时候,JVM在堆中开辟内存空间,用来存储Phone对象,并获得地址
5.类中的三个属性,跟随容器进入到堆内存,并赋予默认值(null,null,0.0)
6.p指向这个内存地址
7.p.color等是内存空间中找到color属性,并赋值
ArrayList简单介绍:
集合,不限长度。存储的是引用类型,不存储基本类型,如int,double不能写,要改成相应的引用类型。
创建(Phone是之前写的一个类):
import java.util.ArrayList; public class ArrayListDemo{ public static void main(String[] args){ ArrayList<String> array = new ArrayList<String>(); ArrayList<Integer> array2 = new ArrayList<Integer>(); ArrayList<Phone> array3 = new ArrayList<Phone>(); } }
方法:
import java.util.ArrayList; public class ArrayListDemo{ public static void main(String[] args){ ArrayList<String> array = new ArrayList<String>(); array.add("c++");//添加元素 array.add("python"); array.add("java"); array.add("php"); int size = array.size();//集合的大小 System.out.println(size);//4 String s = array.get(1);//获取元素 System.out.println(s);//python //遍历 for(int i = 0 ; i < array.size(); i++){ System.out.println(array.get(i)); } //其他方法 ArrayList<Integer> array2 = new ArrayList<Integer>(); array2.add(1); array2.add(2); array2.add(3); array2.add(4); array2.add(2,7);//在2的索引上加7 array2.set(0,10);//0索引设置为10 array2.remove(4);//删除 for(int j = 0 ; j < array2.size(); j++){ System.out.println(array2.get(j)); } //10,2,7,3 array2.clear(); //清除集合中的元素,容器还在 } }