Java基础——自定义类的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础——自定义类的使用相关的知识,希望对你有一定的参考价值。

自定义类

我们可以把类分为两种:

1.???????? 一种是java中已经定义好的类,如之前用过的Scanner类、Random类,这些我们直接拿过来用就可以了。

2.???????? 另一种是需要我们自己去定义的类,我们可以在类中定义多个方法和属性来供我们实际的使用。

什么是类呢?在java中,我们可以将现实生活中的事物通过描述来写成代码,我们可以自定义类来描述生活中的事物。比如我们可以将人进行描述,人的姓名,年龄,性别都是人的特有属性,可以在自定义的类中通过变量来进行描述。人会吃饭,睡觉,学习等基本功能,我们可以在自定义的类中使用定义方法的方式来定义这些特有的功能。

定义类的格式

public class 类名{

???????? 定义属性:

事物的基本特征,可以通过变量来定义属性,比如人的姓名:private String name = “张飞”;

修饰符 数据类型 变量名 = ;

定义方法:

?? 用来定义该事物的具体功能的。

?? 修饰符 返回值类型 方法名(参数列表){

?

}

}

下面通过一段代码来演示类怎么定义:

/*
定义一个类,来描述手机这个事物
*/
//定义一个手机类
public?class?Phone{
?????????//定义手机的属性内容:品牌、颜色、大小等
?????????String?brand;
?????????String?color;
?????????double?size;
}
/*
定义手机类的测试类,用来测试手机类中的功能
*/
//定义测试类
public?class?PhoneTest{
?????????public?static?void?main(String[]?args){
???????????????????//创建手机类的对象
???????????????????Phone?p?=?new?Phone();
???????????????????//通过对象名.的方式来调用手机类中的属性并进行赋值操作
???????????????????p.brand?=?"一加3T";
???????????????????p.color?=?"星空蓝";
???????????????????p.size?=?5;
???????????????????//获取手机的信息
???????????????????System.out.println("型号:"+p.brand+",颜色:"+p.color+",尺寸:"+p.size);
?????????}
}

运行结果:技术分享图片

自定义类的练习

定义下面的类,并测试:

电饭锅,包含属性(品牌、容量大小、颜色等)

汽车,包含属性(品牌、排量、类型等)

学生,包含属性(姓名,年龄,性别等)

/*
需求:自定义定义电饭锅的类
思路:1、定义电饭锅类,类名ElectricBowl
???????????2、描述电饭锅的属性,也就是定义电饭锅的属性变量
???????????3、定义测试类,给属性赋值,并打印出来
*/
//定义电饭锅类
public?class?ElectricBowl{
?????????//定义电饭锅的属性变量
?????????String?brand;
?????????double?size;
?????????String?color;
}

?

/*
需求:定义汽车类
思路:1、定义汽车类,类名Car
???????????2、描述汽车的属性,也就是定义汽车的属性变量
???????????3、定义测试类,给属性赋值,并打印出来
*/
//定义汽车类
public?class?Car{
?????????//描述汽车的属性变量
?????????String?brand;
?????????double?displacement;
?????????String?type;
}

?

/*
定义学生类
*/
public?class?Student{
?????????//定义学生的属性变量
?????????String?name;
?????????int?age;
?????????char?sex;
}

?


/*
定义测试类,同时定义三个事物(电饭锅、汽车、学生)的测试类
*/
//定义测试类
public?class?Test{
?????????public?static?void?main(String[]?args){
???????????????????//创建电饭锅的对象
???????????????????ElectricBowl?eb?=?new?ElectricBowl();
???????????????????//对电饭锅的属性进行赋值
???????????????????eb.brand?=?"美的";
???????????????????eb.size?=?1.5;
???????????????????eb.color?=?"白色";
???????????????????//打印电饭锅的属性内容
???????????????????System.out.println("品牌:"+eb.brand+",容量大小:"+eb.size+",颜色:"+eb.color);
??????????????????
???????????????????//创建汽车的对象
???????????????????Car?c?=?new?Car();
???????????????????//对汽车的属性进行赋值
???????????????????c.brand?=?"雪佛兰";
???????????????????c.displacement?=?2.0;
???????????????????c.type?=?"科迈罗";
???????????????????//打印汽车的属性内容
???????????????????System.out.println("品牌:"+c.brand+",排量:"+c.displacement+",类型:"+c.type);
??????????????????
???????????????????//创建学生对象
???????????????????Student?s?=?new?Student();
???????????????????//对学生的属性内容进行赋值
???????????????????s.name?=?"张丽";
???????????????????s.age?=?20;
???????????????????s.sex?=?‘女‘;
???????????????????//打印学生的属性内容
???????????????????System.out.println("姓名:"+s.name+",年龄:"+s.age+",性别:"+s.sex);
?????????}
}

运行结果:技术分享图片

ArrayList集合

ArrayList集合也属于引用数据类型,它的定义步骤:

1.???????? 导入包:java.util

2.???????? 创建引用数据类型的变量,它的定义有点小区别

数据类型<存储数据的数据类型 > 变量名 = new 数据类型<存储数据的数据类型>();

比如要创建一个字符串类型的数据变量:ArrayList<String> arr = new ArrayList<String>;

3.???????? 通过变量名.方法的方式来调用。

注意:ArrayList集合只存储引用数据类型,不存储基本数据类型,8个基本数据类型有其对应的8个引用数据类型。

ArrayList集合中的一些方法使用

1add() 向集合中添加元素

2get() 获取集合中的元素

3size() 获取集合的长度

下面的一段代码演示了这些方法的使用:

/*
ArrayList集合的方法使用
*/
//导入ArrayList的包
import?java.util.ArrayList;
public?class?ArrayListDemo{
?????????public?static?void?main(String[]?args){
???????????????????//创建ArrayList集合的字符串引用变量
???????????????????ArrayList<String>?array?=?new?ArrayList<String>();
???????????????????//调用add方法向集合中添加字符串
???????????????????array.add("Hello");
???????????????????array.add("Java");
???????????????????array.add("你好");
??????????????????
???????????????????//调用方法获取集合的长度
???????????????????System.out.println("该集合的长度是:"+array.size());
???????????????????//调用方法通过索引获取集合内的元素内容
???????????????????System.out.println(array.get(0));
???????????????????System.out.println(array.get(1));
???????????????????System.out.println(array.get(2));
?????????}
}

运行结果:技术分享图片

ArrayList集合遍历

ArrayList集合的遍历方式和数组遍历方式差不多,都需要使用for循环,下面通过一段代码来演示集合的遍历:

/*
ArrayList集合的遍历
*/
//导入包
import?java.util.ArrayList;
public?class?ArrayList_1{
?????????public?static?void?main(String[]?args){
???????????????????//创建整数集合的引用型变量
???????????????????ArrayList<Integer>?array?=?new?ArrayList<Integer>();
???????????????????//给该集合添加数值
???????????????????array.add(123);
???????????????????array.add(456);
???????????????????array.add(789);
???????????????????//通过遍历来对该集合内的数据进行获取:有两个方法在里面:size()、get()
???????????????????for(int?i=0;i<array.size();i++){
????????????????????????????System.out.println(array.get(i));
???????????????????}
?????????}
}

ArrayList集合的其他一些方法使用

add(int 索引,要添加的元素)???? ???????? 给指定索引添加内容

set(int 索引,修改后的元素内容)????? 在指定索引处修改内容

remove(int 索引)????????? 删除指定索引上的元素

clear()?????????????? 清空集合中的所有元素

下面的代码演示了这些方法的使用情况:

/*
ArrayList集合的其他方法
*/
//导入包
import?java.util.ArrayList;
public?class?ArrayList_2{
?????????public?static?void?main(String[]?args){
???????????????????//创建整数集合的引用类型变量
???????????????????ArrayList<Integer>?array?=?new?ArrayList<Integer>();
???????????????????//给集合添加内容
??????????????????array.add(21);
???????????????????array.add(78);
???????????????????array.add(45);
???????????????????//给指定索引添加元素
???????????????????array.add(1,8);
???????????????????//在指定索引出修改元素
???????????????????array.set(0,6);
???????????????????//删除指定索引上的内容
???????????????????array.remove(1);
???????????????????//清空集合中的所有元素
???????????????????array.clear();
???????????????????//遍历集合元素,并把元素进行获取
???????????????????for(int?i=0;i<array.size();i++){
????????????????????????????System.out.println(array.get(i));
???????????????????}
?????????}
}


以上是关于Java基础——自定义类的使用的主要内容,如果未能解决你的问题,请参考以下文章

java基础(14):Eclipse面向对象自定义数据类型的使用

06_Java基础语法_第6天(自定义类ArrayList集合)_讲义

JAVA-基础-引用数据类型(类)

VSCode创建自定义用户片段

java基础:自定义类ArrayList集合

java基础-类的定义成员变量方法对象的创建与使用