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(形参){ ...
随机推荐
- MyBatis多租户隔离插件开发
在SASS的大潮流下,相信依然存在很多使用一个数据库为多个租户提供服务的场景,这个情况下一般是多个租户共用同一套表通过sql语句级别来隔离不同租户的资源,比如设置一个租户标识字段,每次查询的时候在后面 ...
- MacBook 经常使用快捷键
Mac OS X系统图形表示方法 ⇧ = shift ⌃ = control ⌥ = option / alt Home=fn + ◄ End=fn + ► Page Up=fn + ▲ Pag ...
- EL表达式的简单实用
EL表达式 EL(Expression Language) 是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方 ...
- nginx+redis实现session的共享
上一篇我们介绍了nginx实现的负载均衡和动静分离,可看这边. 我们在文章的末尾说到,负载均衡需要面临的一个问题是内存数据的同步.例如:我有A,B两台服务器做了负载均衡,当我在A服务器上执行了登录并且 ...
- 自学Zabbix3.8-可视化Visualisation
随着大量数据流入Zabbix,如果用户能够查看正在发生的事情,而不仅仅是数字,那么对于用户来说,这就变得容易得多了.这就是图的所在. 图允许快速地掌握数据流,关联问题,发现什么时候开始,或者做什么事情 ...
- [UWP]了解TypeConverter
1. 前言 TypeConverter是XAML解释器的幕后功臣,它做了大量工作,从WPF诞生以来,几乎每一次XAML的运作都有它的参与.虽然UWP中TypeConverter已经彻彻底底退居幕后,连 ...
- 利用AndroidStudio开发java工程
1.新建一个project,或者如果你已经有project的话,那就直接新建一个module.注意选择Java library,然后下一步. 2.输入module的一些信息.点击finish.(在创建 ...
- mybatis if-else(写法)
mybaits 中没有else要用chose when otherwise 代替 范例一 <!--批量插入用户--> <insert id="insertBusinessU ...
- 微信小程序——微信支付
这个讲起来也就比较麻烦一点,因为需要的不仅仅是咱们代码上的技术,嘿嘿! 先整理一下思路.如果想做微信支付: 1.现有一个公司账户(非个人账户),并且实名认证过的. 2.微信号 必须开通微信支付功能. ...
- 使用canvas实现绚丽的时钟特效
源码 https://github.com/2016Messi/Gorgeous-clock 效果展示 https://2016messi.github.io/Gorgeous-clock/ 如果各位 ...