【JAVA基础】—自定义类和ArrayList集合

前言

    上一篇博客中和大家一起学习了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集合中的一些东西先说到这里,咱们下期再会~~~

猜你喜欢

转载自blog.csdn.net/zt15732625878/article/details/79371159