ArratList 集合入门
ArratList 类属于java.util包里面的使用前需要在代码开头添加一下代码
import java.util.ArrayList;
1.集合的长度是可变的,不像数组一样是固定的
2.泛型:限定集合中存储数据的类型
3.集合不能直接存基本数据类型,如果有需求,需要改成对应的包装类
ArrayList类集合的创建
//1.创建一个集合ArrayList<String> list =new ArrayList<>();
此时的集合对象储存的类型是String,对象名叫 list;
ArrayList类的成员方法
1. boolean add(E e) 方法实现集合添加元素
括号内部填写要添加的元素,返回布尔类型,添加成功返回true,添加失败返回false
2.删除集合内元素
第一种:boolean remove(E e) ,此方法会在集合中找到与括号中删除的元素,若是找到则删除并返回true,否则返回false。
第二种:E remove(int index) 根据索引删除,并返回删除元素,index表示集合中第几个元素
3.修改集合内元素
E set(int index, E e) 方法 根据索引修改元素 返回被覆盖的元素
4.查询集合内元素
E get(int index) 查询 根据索引查询元素并返回
5.获取集合内元素的数量
int size() 获取集合的长度并返回
所有方法使用样例如下:
package test4;import java.util.ArrayList;public class study_AL {public static void main(String[] args) {//1.创建一个集合ArrayList<String> list =new ArrayList<>();//2.添加元素list.add("aaa");list.add("aaa");list.add("bbb");list.add("ccc");System.out.println(list);//3.删除元素//第一种方法list.remove("aaa");System.out.println(list);//第二种方法String ste = list.remove(0);System.out.println(list);System.out.println(ste);//4.修改元素String str= list.set(0,"fff");System.out.println(list);System.out.println(str);//5.查询元素String sss=list.get(0);System.out.println(sss);}
}
运行结果:
[aaa, aaa, bbb, ccc]
[aaa, bbb, ccc]
[bbb, ccc]
aaa
[fff, ccc]
bbb
fff
static修饰变量和方法
static表示静态,是java中的一个修饰符,可以修饰成员变量和成员方法
静态变量
被static修饰的成员变量,叫做静态变量
为什么要有static这个修饰符来修饰变量?
我们知道static是以类加载而加载的,当以这个类创建的多个对象都有共同的特征,则可以使用static这个修饰符来修饰
比如:一个班里有很多的学生,我们定义了一个类描述学生,而这个班里面都有共同一个老师,则老师这个成员变量就可以static来修饰,这样做的好处就是,在今后写代码的过程每创建一个学生对象时没必要重新告诉你的老师是谁
静态方法
被static修饰的方法,叫做静态变量
三大类基本特征
工具类的特点
工具类私有化构造方法的原因
工具类不是用来描述某一事物的,不需要构造对象
工具类方法定义为静态的原因
工具类的方法一般操作某个数组等,比如遍历打印数组,求平均值等,这些方法是公用在类里面的,所有用static修饰的
面向对象——继承
继承是面向对象三大特征之一,可以让类跟类之间产生父子关系
继承的作用
可以把多个子类中重复的代码抽取到父类当中,子类可以直接使用,减少代码冗余,提高代码复用性
java继承的特点
子类继承父类的内容
继承后子类的重写方法
继承后子类的构造方法的特点
如果需要父类的有参构造也是用super,继承的样例和重写代码如下:
父类代码
package test6;public class Anlmal {private int age;private String color;public Anlmal() {}public Anlmal(int age, String color) {this.age = age;this.color = color;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}public void eat(String something){System.out.println("在吃"+something);}
}
子类代码:
public class Cat extends Anlmal{public Cat() {}//有参构造调用父类构造方法public Cat(int age, String color) {super(age, color);}public void zhua(){System.out.println("抓老鼠");}@Override//重写构造方法public void eat(String something){System.out.printf("%d岁的%s颜色的猫咪着眼睛侧着头吃%s",getAge(),getColor(),something);System.out.println();}
}