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+'\t'+emp.get(i).eno+'\t'+emp.get(i).salary);
}
}
}
转载于:https://www.cnblogs.com/Java-125/p/8629176.html
Java基础知识学习04-自定义类、ArrayList集合相关推荐
- JAVA基础知识学习全覆盖
文章目录 一.JAVA基础知识 1.一些基本概念 1.Stringbuffer 2.局部变量成员变量 3.反射机制 4.protect 5.pow(x,y) 6.final ,finally,fina ...
- java 基础知识学习2
目录 目录 基础知识练习 String 类实现大小写转换的方法 截取字符串中的部分内容 用正则表达式判断手机号码是否合法 用字符串生成器追加字符 用连接运算符连接字符串 去除字符串中的首尾控格 获取字 ...
- Java基础知识学习:简单随手记录(3)
学习视频链接:https://www.bilibili.com/video/BV1fh411y7R8?p=1&vd_source=1635a55d1012e0ef6688b3652cefcdf ...
- java基础知识学习小总结(一)
此文转载自:https://blog.csdn.net/weixin_44734093/article/details/109715246 什么是java Java是一门面向对象编程语言,不仅吸收了C ...
- Java基础知识学习笔记总结
Java学习笔记总结 java基础复习 1. 抽象类可以有构造器,可以有一个非抽象的父类 2. 垃圾回收机制回收的是堆里面的内存,栈里面的数据自动入栈自动出栈 3. 引用类型的数据在堆当中,内存中操作 ...
- 超详细的java基础知识学习(java SE、javaEE)笔记 核心重点!
标识符 Java 的标识符是由字母.数字.下划线_.以及美元符$组成,但是首字母不可以是数字.Java 标识符大小写敏感,长度无限制,不能是 Java 中的关键字.命名规则:要见名知意! u 变量要 ...
- JAVA基础知识之Collections工具类
排序操作 Collections提供以下方法对List进行排序操作 void reverse(List list):反转 void shuffle(List list),随机排序 void sort( ...
- Java基础知识学习:简单随手记录(1)
学习视频链接:https://www.bilibili.com/video/BV1fh411y7R8?p=1&vd_source=1635a55d1012e0ef6688b3652cefcdf ...
- Java基础知识学习巩固2--int和Integer有什么区别及扩展
这个问题之前首先要介绍下Java数据类型, 一.Java基本类型,主要有8种,分别是: 1.boolean(布尔型即只有true和false), 2.char(字节型16 位 Unicode 字符), ...
最新文章
- jyphon 环境变量配置
- glide默认的缓存图片路径地址_手写一个静态资源中间件,加深了解服务器对文件请求的缓存策略...
- 遍历矩阵每一行穷举_LeetCode:二维数组—旋转矩阵
- gradle是否可以编译c语言,build.gradle按条件编译与cmake配置
- android代码重启设备,Android设备重启(reboot)---Android studio
- java jquery ajax_[Java教程]jquery ajax 使用
- 【数据结构笔记18】堆中的路径与C实现(堆元素到根的路)径)
- vivox7Android版本怎么升级,vivo公布安卓7.1系统更新计划,老款机型也能升级
- 【WinForm】自己写一个截图软件1 --注册全局热键
- Linux 开发环境 -- glibc 升级(不建议轻易升级)
- 什么是EPSG CODE
- UltralSO 软碟通制作U盘启动盘(图解详细 完美避坑)
- 路由器有信号无网络连接到服务器,路由器信号满格但是没有网络怎么办
- CAD文件怎么转成图片?手机也能轻松解决
- kali启动时出现resuming from hibernation错误
- elasticsearch的master选举
- android 图片字体涂鸦,android 涂鸦功能
- 区间类动态规划(dp)
- 正斜杠(/)反斜杠(\)简单区别
- %md ,%0md ,%-md ,%m.nf