Java基础知识学习04-自定义类、ArrayList集合

类与对象

类是一个模子,确定对象将会拥有的特征(属性)和行为(方法)。

类的特征:类是对象的类型

                 具有相同属性和方法的一组对象的集合

类的组成:属性和方法

定义一个类:public class  类名{

                         //定义属性部分

                          属性1的类型  属性1;

                          属性2的类型  属性2;      // 属性   即表示对象有什么

                         属性n的类型   属性n;

                         //定义方法部分

                         方法1;

                         方法2;                             //方法:即表示对象干什么

                         方法n;

                   }

自定义类

   创建java文件,与类名相同

     public class 类名{

      数据类型  属性名称1

      数据类型  属性名称2

          …

      }

     例如:创建一个Phone类   

      public class Phone {

               String brand;// 品牌型号

              String color;// 颜色

              double size; // 尺寸大小

          }

类的使用格式

  1、导包:我们将所有的类放到同一个文件夹下,可以避免导包

  2、创建对象:数据类型  变量名 = new 数据类型();

  3、访问属性:变量名.属性

      public class Test {

          public static void main(String[] args) {

                Phone p = new Phone(); //创建对象

                p.brand = "苹果6s";    //通过对象.属性  来访问属性,并赋值

                p.color = "白色";

                p.size = 5.5;

               System.out.println("手机品牌为" + p.brand);

               System.out.println("手机颜色为" + p.color);

               System.out.println("手机尺寸大小为" + p.size);

             }

       }

内存图解(由此可得  类是引用数据类型)

ArrayList集合 

数组可以保存多个元素,但在某些情况下无法确定到底要保存多少个元素,此时数组将不再适用,因为数组的长度不可变

JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。

   集合的创建

   1、导包:import java.util.ArrayList;

     2、创建对象:与其他普通的引用数据类型创建方式完全相同,但是要指定容器中存储的数据类型:

          ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();

          集合中存储的元素,只能为<>括号中指定的数据类型元素;

          “<要存储元素的数据类型>”中的数据类型必须是引用数据类型,不能是基本数据类型;

   8种基本数据类型对应的引用数据类型

基本数据类型

对应的引用数据类型表示形式

byte

Byte

short

Short

Int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

集合中常用的方法

    add();   添加数据

    get();    获取数据

    size();   返回集合的长度

   remove(int index); 删除指定位置的数据

   add(int index,要添加的数据); 在指定位置添加数据

   clear();  清空集合中的数据

   set(int index,要修改的数据);  修改指定位置的数据

    例如:

             import java.util.ArrayList;
             public class JiHe
            {
                 public static void main(String[] args)
                 {
                        ArrayList<String> list=new ArrayList<String>();
                        //对象.方法() 对象.add(); 添加数据 集合新增
                        list.add("张三");
                        list.add("李四");
                        list.add("王五");
                        //往集合中指定位置添加数据 对象.add(int index,新增数据);
                        list.add(1,"小红");
                       //删除集合中指定位置的元素 对象.remove(int index);
                       //list.remove(2);
                       //清空集合中的数据 对象.clear();
                       //list.clear();
                       //修改集合中指定位置的数据 对象.set(int index,修改后的值);
                       list.set(2,"小明");
                      String a=list.get(0); //对象.get(); 取出数据
                      String b=list.get(1);
                      String c=list.get(2);
                      //获取集合中的数据,通过对象.get(int index)
                      for(int i=0;i<list.size();i++){ //对象.size() 数组的长度
                      System.out.println(list.get(i));
                           }
                   }
        }

举例:定义一个员工类Employee,包含三个属性姓名、工号、工资,创建三个员工对象存入ArrayList集合中,并遍历输出。

代码如下:

class Employee
{
String name;
int eno;
double salary;
}

import java.util.ArrayList;
public class EmployeeTest
{
public static void main(String[] args)
{
/*1、创建对象
2、通过 对象.属性 添加数据
3、创建集合对象
ArrayList<要存储元素的数据类型> 变量名 = new ArrayList<要存储元素的数据类型>();
4、通过 对象.方法() 操作数据
5、对象.add(); 添加数据
对象.get(); 获取数据
*/
Employee em1 = new Employee();
Employee em2 = new Employee();
Employee em3 = new Employee();

em1.name="张三";
em1.eno=100;
em1.salary=2340;

em2.name="李四";
em2.eno=101;
em2.salary=2640;

em3.name="王五";
em3.eno=102;
em3.salary=3340;

ArrayList<Employee> emp = new ArrayList<Employee>();
emp.add(em1);
emp.add(em2);
emp.add(em3);
for(int i=0;i<emp.size();i++){
System.out.println(emp.get(i).name+' '+emp.get(i).eno+' '+emp.get(i).salary);
}
}
}

原文地址:https://www.cnblogs.com/Java-125/p/8629176.html