类与对象
类是一个模子,确定对象将会拥有的特征(属性)和行为(方法)。
类的特征:类是对象的类型
具有相同属性和方法的一组对象的集合
类的组成:属性和方法
定义一个类: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+'\t'+emp.get(i).eno+'\t'+emp.get(i).salary);
}
}
}