java基础(12)抽象类以及抽象方法abstract以及ArrayList对象使用

简介: 本文介绍了Java中抽象类和抽象方法的使用,以及ArrayList的基本操作,包括添加、获取、删除元素和判断列表是否为空。

abstract

如同TS中abstract,只要被abstract修饰的类就不能被new也就是实例化,只能被派生类(子类)继承,抽象类中的抽象方法也必须在派生类中实现。

创建抽象类与子类继承抽象方法
abstract public class Test{
   
    abstract  int numAndNum(int a,int b);
    abstract  String strAndStr(String a,String b);
}
 class Zjq extends  Test{
   

    public  int numAndNum(int num1,int num2){
   
        return num1+num2;
    }

    public String strAndStr(String str1,String str2){
   
        return  str1+"和"+str2+"是好朋友。";
    }
 }

Tset作为Zjq的父类,Test被public关键字修饰说明我们可以在任何地方使用这个类,这个类为公开的,紧接着是abstract关键字说明我们这Test类变成了公开的抽象类,这个时候这个类已经不能被实例化了。再看它身上的两个方法,同样也都是被abstract修饰,所以这两个方法都必须在Zjq这个子类中具体实现出来。

在其他类中使用Zjq这个类

import java.util.Scanner;

public class TestPublic {
   
    public static void main(String[] args) {
   
        Zjq zjq = new Zjq();

        Scanner sc = new Scanner(System.in);

        System.out.println("请输入第一个数字:");
        int num1 = sc.nextInt();
        System.out.println("请输入第二个数字:");
        int num2 = sc.nextInt();
        int a = zjq.numAndNum(num1, num2);
        System.out.print("最终的结果为:");
        System.out.println(a);

        System.out.println("请输入第一个名称:");
        String str1 = sc.next();
        System.out.println("请输入第二个名称:");
        String str2 = sc.next();
        System.out.println(zjq.strAndStr(str1,str2));
    }
}

ArrayList

ArrayList就是动态数组,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处。

import java.util.ArrayList;

public class TestPublic {
   
    public static void main(String[] args) {
   

        ArrayList<String> list = new ArrayList<>();
        for (int i = 0; i < 20; i++) {
   
            list.add("我是第"+i+"个数");
        }
        String str =  list.get(6);//从0开始计算   我是第6个数
        System.out.println(str);

        String str3 = list.remove(7);
        System.out.println("删除的是:");
        System.out.println(str3);

        System.out.println(list.toString());
        System.out.println(list.size());
    }
}

在这里插入图片描述
上面只是使用到了几个常用的方法:
1.get
xx.get(index)返回值为当前下表的数组元素;
2.add
xx.add(yyy)向列表中添加元素,将指定的元素添加到此列表的尾部。
3.remove
xx.remove(index)返回值为当前下表的数组元素;删除index坐标下的元素
4.size
xx.size()获取当前list的长度。
other:

        System.out.println(list.isEmpty());//list是否为空;
        list.clear();//清除list所有元素
        System.out.println(list.isEmpty());//list是否为空

在这里插入图片描述
isEmpty判断当前list是否为空,空的话返回true;
clear将list所有元素清空;

目录
相关文章
|
1月前
|
算法 Java 开发者
Java 项目实战数字华容道与石头迷阵游戏开发详解及实战方法
本文介绍了使用Java实现数字华容道和石头迷阵游戏的技术方案与应用实例,涵盖GUI界面设计、二维数组操作、游戏逻辑控制及自动解法算法(如A*),适合Java开发者学习游戏开发技巧。
191 46
|
2月前
|
安全 Java API
Java 集合高级应用与实战技巧之高效运用方法及实战案例解析
本课程深入讲解Java集合的高级应用与实战技巧,涵盖Stream API、并行处理、Optional类、现代化Map操作、不可变集合、异步处理及高级排序等核心内容,结合丰富示例,助你掌握Java集合的高效运用,提升代码质量与开发效率。
202 0
|
2月前
|
算法 搜索推荐 Java
Java中的Collections.shuffle()方法及示例
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,支持原地修改。可选传入自定义 `Random` 对象以实现结果可重复,适用于抽奖、游戏、随机抽样等场景。
119 0
|
2月前
|
安全 Java
JAVA:Collections类的shuffle()方法
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的工具方法,适用于洗牌、抽奖等场景。该方法直接修改原列表,支持自定义随机数生成器以实现可重现的打乱顺序。使用时需注意其原地修改特性及非线程安全性。
130 0
|
2月前
|
算法 安全 Java
java中Collections.shuffle方法的功能说明
`Collections.shuffle()` 是 Java 中用于随机打乱列表顺序的方法,基于 Fisher-Yates 算法实现,常用于洗牌、抽奖等场景。可选 `Random` 参数支持固定种子以实现可重复的随机顺序。方法直接修改原列表,无返回值。
117 0
|
Java
JAVA方法的定义
JAVA方法的定义
187 0
|
6月前
|
存储 JSON Java
《从头开始学java,一天一个知识点》之:方法定义与参数传递机制
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 🚀 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。上篇:《输入与输出:Scanner与System类》 | 下篇剧透:《方法重载与可变参数》。
137 25
|
安全 Java 编译器
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
杭州 【Java基础知识 11】java泛型方法的定义和使用(学习+改进+自己理解,想法) (借鉴-侵-删)
113 1
|
存储 Java
Java数组与带参数方法:定义、调用及实践
Java数组与带参数方法:定义、调用及实践
175 1
|
存储 Java
Java中带返回值方法的定义与调用技术
Java中带返回值方法的定义与调用技术
231 1