自定义类

我们可以把类分为两种:

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 arr = new ArrayList;

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

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

ArrayList集合中的一些方法使用

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

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

3、size() 获取集合的长度

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

ArrayList集合的方法使用

*/

//导入ArrayList的包

import java.util.ArrayList;

public class ArrayListDemo{

public static void main(String[] args){

//创建ArrayList集合的字符串引用变量

ArrayList array = new ArrayList();

//调用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 array = new ArrayList();

//给该集合添加数值

array.add(123);

array.add(456);

array.add(789);

//通过遍历来对该集合内的数据进行获取:有两个方法在里面:size()、get()

for(int i=0;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 array = new ArrayList();

//给集合添加内容

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

System.out.println(array.get(i));

}

}

}

java调用自己写的类型_Java基础——自定义类的使用相关推荐

  1. java对象属性的作用域类型_java 对象和类

    类:类为对象定义属性和行为. 对象的定义:对象是代表现实世界可以明确标识的一个实体. 每个对象都有自己独特的标识.状态和行为. 一个对象的状态是由具体当前值的数据域来表示的. 一个对象的行为是由方法定 ...

  2. java 数据类型转换的一场_Java基础 — 四类八种基本数据类型

    整型:整数类型int 一般的数据. long 极大的数据. short 用于特定的场合,比如底层的文件处理或者需要控制占用存储单元空间量的大数组. byte 用于特定的场合,比如底层的文件处理或者需要 ...

  3. android调用 qt so文件路径,Android Java调用Qt写的so库

    有时候,我们反编译apk得到一个so库,如果直接使用这个so库的话,必须使用原来so库同样的package名字,才能用.这样人家反编译你的apk,就知道你侵犯了人家的版权.为了达到混淆的目的,我们可以 ...

  4. java的继承属于哪种类型_Java基础 继承

    二.继承 什么是继承关系:基于某个父类对对象的定义加以拓展,而产生新的子类的定,子类可以继承父类的某些属性,也可以增加原来父类所没有的定义,或者覆写父类中的某些特性. 从面向对象的角度分析,继承是一种 ...

  5. java 运行时类型_Java基础之RTTI 运行时类型识别

    运行时类型识别(RTTI, Run-Time Type Identification)是Java中非常有用的机制,在Java运行时,RTTI维护类的相关信息. 多态(polymorphism)是基于R ...

  6. java反射机制深入详解_Java基础与提高干货系列——Java反射机制

    前言 今天介绍下Java的反射机制,以前我们获取一个类的实例都是使用new一个实例出来.那样太low了,今天跟我一起来学习学习一种更加高大上的方式来实现. 正文 Java反射机制定义 Java反射机制 ...

  7. java调用kafka接口发送数据_Java调用Kafka生产者,消费者Api及相关配置说明

    本次的记录内容包括: 1.Java调用生产者APi流程 2.Kafka生产者Api的使用及说明 3.Kafka消费者Api的使用及说明 4.Kafka消费者自动提交Offset和手动提交Offset ...

  8. java语言用数组接收字符_Java基础——数组应用之字符串String类

    字符串String的使用 Java字符串就是Unicode字符序列,例如串"Java"就是4个Unicode字符J,a,v,a组成的. Java中没有内置的字符串类型,而是在标准J ...

  9. java 调用kettle job 传参_java调用kettle向job(任务)和transformation(转换)传递参数实例...

    虽然网上文章有说java可以传递参数给kettle,不过只找到了传递参数给转换的文章,没有讲参数传递给job,kettle中如何使用java传递的参数.今天就以上问题,一并共享. /** * 本测试类 ...

最新文章

  1. 一个“退学生”到CTO的逆袭之路
  2. iAD靠什么吸引用户打开这个应用?
  3. 如何将自己写的verilog模块封装成IP核(一)
  4. win7怎么清理java缓存文件夹_Win7怎么清除浏览器缓存?清除电脑缓存的妙招
  5. 如何将Sql Server中的数据表导入到PowerDesigner中
  6. zset中的score_Redis 在项目中合理使用经验总结
  7. 如何理解 Graph Convolutional Network(GCN)?
  8. Windows 10环境下AndroidStudio安装教程(内含如何配置Http Proxy)
  9. 21世纪商业运作平台:云计算(Cloud Computing)
  10. 如何关闭Visual Studio Development Server
  11. USES_CONVERSION W2A
  12. 情态 语态_情绪与情态与对话情感
  13. Mybatis知识点复习(第一次)
  14. c语言非标准输出电源适配器,五分钟了解设计模式(3)---适配器模式
  15. Unity3D开发电脑选择
  16. java读取excel图表模板,修改选值范围
  17. 神经网络反向传播算法及代码实现
  18. 力扣刷题 DAY_85 贪心
  19. led动态显示 c语言,单片机LED点阵的横向移动(动态显示)
  20. 360网站卫士推出风行计划 号称速度提升5倍

热门文章

  1. 小米iot业务_小米:海外市场和IOT业务驱动公司2019年营收达到2058亿元
  2. csgo调出参数_csgo设置参数设置怎么调出来
  3. AI能代替程序员吗?
  4. 【phpcms-v9】phpcms-v9中建立wap手机站点
  5. 【phpcms-v9】phpcms-v9中栏目页的静态化生成
  6. 329、11种光纤网络通讯传输方案
  7. 项目基础信息概况一览表
  8. 7个方法快速提升你的技术领导力!
  9. 2023 外贸进出口公司网站静态模板html源码
  10. linux语言环境设置