Java学习笔记5(类的入门以及ArrayList)
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);//
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();
//清除集合中的元素,容器还在
}
}
Java学习笔记5(类的入门以及ArrayList)的更多相关文章
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- Java学习笔记之---类和对象
Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态 例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...
- Java学习笔记-File类的基本方法
要渐渐养成写博客的习惯-----> 前段时间看Mars的java中的I/O流没怎么懂,发现I/O流好难啊.今天重新看一遍其他教学,还有书籍,做些笔记,记录下每天的学习生活. File类的一些方法 ...
- Java学习笔记 04 类和对象
一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...
- 0018 Java学习笔记-面向对象-类的基本要素
类与对象 大街上一个个的人,就是一个个对象 类是对一群对象的抽象,比如人都有性别.年龄.姓名,都会吃饭.睡觉等.姓名性别可以抽象为变量,吃饭睡觉可以抽象为方法,像下面一样定义个类来形容人 public ...
- Java学习笔记——SequenceInputStream类合并文件的综合举例分析
SequenceInputStream 介绍 SequenceInputStream 类表示其他输入流的逻辑串联,即文件的合并. 它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾, ...
- Java学习笔记-嵌套类
嵌套类 嵌套类有两种类别:static and non-static,分别对应为静态嵌套类和内部类. class OuterClass { ... static class StaticNestedC ...
- Java学习笔记7---父类构造方法有无参数对子类的影响
子类不继承父类的构造方法,但父类的构造方法对子类构造方法的创建有影响.具体来说就是: ①.当父类没有无参构造方法时,子类也不能有无参构造方法:且必须在子类构造方法中显式以super(参数)的形式调用父 ...
- JAVA学习笔记 (一、入门及前期准备)
博主本来只是会一点python,但是换了新公司这边用的java,边学习边总结吧,共勉之. 一.认识 java (1)java分为三类 JavaSE 基础核心 JaveEE web方向(企业版) Jav ...
- Java学习笔记之——类与对象
1.参数的传递方式 1)值传递 2)引用传递 2.类和对象: (1)类的定义: public class 类名{ 类型 属性1: 类型 属性2: ……… public 返回值类型 方法名1(形参){ ...
随机推荐
- Sqoop2安装记录
我是採用的源代码编译的包安装的, 主要是考虑到会对部分功能做裁剪或增强, 详细源代码编译方式能够參考另外一篇博文<编译Sqoop2错误解决>.然后从dist/target文件夹下拷贝sqo ...
- Nginx事件处理中的connection和read、write事件的关联
/********************************************************************* * Author : Samson * Date ...
- TCP传输中序号与确认序号的交互
本实验通过SSH远程登录server,然后使用Wireshark抓包分析. 开头的三次握手已经省略.关于序号的交互过程.须要记住一点:TCP首部中的确认序号表示已成功收到字节,但还不包括确认序号所指的 ...
- 兔子-ps抠图
介绍2种方法:1.用高速选择工具 2.用铅笔工具 1.高速选择后.ctrl+c复制,新建空白图片,粘贴进去 2.用钢笔工具在图像的边缘定出若二个点,确定完毕之后按crtl+回车键选择.然后复制,新建空 ...
- 三.RabbitMQ之异步消息队列(Work Queue)
上一篇文章简要介绍了RabbitMQ的基本知识点,并且写了一个简单的发送和接收消息的demo.这一篇文章继续介绍关于Work Queue(工作队列)方面的知识点,用于实现多个工作进程的分发式任务. 一 ...
- MQTT 设计原则
MQTT 设计原则 简单. 没有杂七杂八的花俏功能,作为一个基础组件构建实用的系统,易于实现. "发布/订阅"消息传递方式. 随时接入随时发布.接收消息,无需太多其他"事 ...
- 自学WPF之XAML(一)概念
此笔记仅为学习过程中的一些总结,若有不妥之处,请指出,以便更正.下面直接进入正题. XAML:是一种设计UI的标签语言,是XML的派生语言,所以很多XML中的概念语法在XAML中均适用.在XAML标签 ...
- idea将maven项目打包成war包的方式,以及使用war包
打包WAR过程 首先对项目进行编译.然后执行以下步骤: 单击下图红色方框处 在IDEA右侧出现maven project选项 单击maven project选项,出现Spring MVC Basi ...
- 智能合约语言 Solidity 教程系列6 - 结构体与映射
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 本系列文章一部分是参考Solidity官方文档(当前最新版 ...
- JMeter获取JSON内容
source("D:\\apache-jmeter-3.0\\用例\\Test.java"); public static void f(){ String response_da ...