当前位置:网站首页>Day016 类和对象
Day016 类和对象
2022-08-01 21:10:00 【陌 年】
1、如何使用带参数的方法
(1)定义带参数的方法
<访问修饰符> 返回类型 <方法名>(<形式参数列表>) {
//方法的主体
}
(2)调用带参数的方法
对象名.方法名(参数1, 参数2,……,参数n)
结合案例
使用带参方法实现学员信息管理 增加学员姓名 在保存了多个学生姓名的数组中,指定查找区间,查找某个学生姓名并显示是否查找成功 。
package cn.bdqn.demo03;
public class Student {
/*
* 增加学员姓名
* 在保存了多个学生姓名的数组中,指定查找区间,查找某个学生姓名并显示是否查找成功
*/
//定义Student类属性
String name;
int age;
//定义方法实现上述需求在保存了多个学生姓名的数组中,指定查找区间,查找某个学生姓名并显示是否查找
public static boolean searchStudent(Student[] students,int startIndex,int endIndex,String name){
int count = 0;
for (int i = startIndex; i <=endIndex; i++) {
if(name.equals(students[i].name)){
return true;
}else{
count++;
if(count==(endIndex-startIndex+1)){
return false;
}
}
}
return false;
}
public static void main(String[] args) {
//创建Student类对象
Student stu1 = new Student();
stu1.name = "张三";
stu1.age = 20;
Student stu2 = new Student();
stu2.name = "李四";
stu2.age = 20;
Student stu3 = new Student();
stu3.name = "王五";
stu3.age = 20;
Student stu4 = new Student();
stu4.name = "赵六";
stu4.age = 20;
Student stu5 = new Student();
stu5.name = "孙七";
stu5.age = 20;
//将上面5个学生存储到数组中
Student[] stus = {stu1,stu2,stu3,stu4,stu5};
boolean result=Student.searchStudent(stus, 1, 3, "孙七");
System.out.println("数组指定区间内有你要查找的姓名:"+result);
}
}

2、方法传参
(1)判断猜测输出结果


![]()
n的值只是被调用了,但最后输出的还是n,所以没有改变。
(2)数据基本类型和引用数据类型在传参时区别
基本数据类型,操作传递的是变量的值,改变一个变量的值不会影响另一个变量的值。
引用数据类型(类、数组和接口),赋值是把原对象的引用(可理解为内存地址)传递给另一个引用
3、构造方法
(1)构造方法 无返回值类型
访问修饰符 构造方法名 ( ) { 方法名与类名相同
初始化代码 可以指定参数
}
(2)作用
对象初始化 系统提供默认无参构造方法
4、构造方法重载
(1)自定义构造方法:
方法名相同
参数项不同
与返回值、访问修饰符无关
(2)构造方法的使用

原因是构造方法时没有返回值,
public void Penguin() {
health=10;
sex="雄";
System.out.println("执行构造方法");
}中的void得消去。
5、方法重载
(1)方法重载
同一个类中
方法名相同
参数个数或类型不同
与返回值、访问修饰符无关
(2)练习
实现简易计算器,分别实现两个整数、三个浮点数的加法运算

6、成员变量和局部变量
变量声明的位置决定变量作用域
变量作用域确定可在程序中按变量名访问该变量的区域

常见错误

成员变量和局部变量的区别
(1)作用域不同
1)局部变量的作用域仅限于定义它的方法
2)成员变量的作用域在整个类内部都是可见的
(2)初始值不同
1)Java会给成员变量一个初始值
2)Java不会给局部变量赋予初始值
注意:在同一个方法中,不允许有同名局部变量;在不同方法中,可以有同名局部变量。
在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级。
边栏推荐
- StringTable Detailed String Pool Performance Tuning String Concatenation
- 人工智能可信安全与评测
- 附录A printf、varargs与stdarg A.1 printf函数族
- Transplant MQTT source code to STM32F407 development board
- C Pitfalls and Defects Chapter 7 Portability Defects 7.9 Case Conversion
- TP5-NPs负载噻吩类化合物TP5白蛋白纳米粒/阿魏酸钠新糖牛血清蛋白纳米粒
- JSD - 2204 - Knife4j framework - processing - Day07 response results
- 职场如象棋,测试/开发程序员如何突破成长瓶颈期?
- Pytorch框架学习记录12——完整的模型训练套路
- 测试开发人均年薪30w+?软件测试工程师如何进阶拿到高薪?
猜你喜欢
随机推荐
【Unity实战100例】文件压缩Zip和ZIP文件的解压
在Cesium中实现与CAD的DWG图叠加显示分析
C专家编程 第1章 C:穿越时空的迷雾 1.1 C语言的史前阶段
响应式织梦模板美容整形类网站
Interview Blitz 70: What are sticky packs and half packs?How to deal with it?
C专家编程 第1章 C:穿越时空的迷雾 1.5 今日之ANSI C
C陷阱与缺陷 第8章 建议与答案 8.2 答案
包含吲哚菁绿的多聚体白蛋白纳米球/载马钱子碱纳米粒的牛血清白蛋白微球的制备
LeetCode·32.最长有效括号·栈·动态规划
C陷阱与缺陷 第7章 可移植性缺陷 7.11 可移植性问题的一个例子
Popular explanation: what is a clinical prediction model
有点奇怪!访问目的网址,主机能容器却不行
【微信小程序】【AR】threejs-miniprogram 安装(76/100)
技能大赛训练:A部分加固题目
【力扣】字符串相乘
with语句和上下文管理器
牛血清白蛋白-葡聚糖-叶黄素纳米颗粒/半乳糖白蛋白磁性阿霉素纳米粒的制备
网红驼背矫正产品真的管用吗?如何预防驼背?医生说要这样做
C Pitfalls and Defects Chapter 7 Portability Defects 7.9 Case Conversion
Protocol Buffer usage



![漏洞分析丨HEVD-0x6.UninitializedStackVariable[win7x86]](/img/37/09ab9b5a490c6ab9bc7991ecc4c8f4.png)





