当前位置:网站首页>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不会给局部变量赋予初始值
注意:在同一个方法中,不允许有同名局部变量;在不同方法中,可以有同名局部变量。
在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级。
边栏推荐
猜你喜欢
随机推荐
方舟生存进化是什么游戏?好不好玩
sizeof的详细解说和与strlen的区别
property语法
Popular explanation: what is a clinical prediction model
How to make the timer not execute when the page is minimized?
牛血清白蛋白刺槐豆胶壳聚糖缓释纳米微球/多西紫杉醇的纳米微球DTX-DHA-BSA-NPs
CS-NP白蛋白包覆壳聚糖纳米颗粒/人血清白蛋白-磷酸钙纳米颗粒无机复合材料
【接口测试】JMeter调用JS文件实现RSA加密
MySQL 中出现的字符编码错误 Incorrect string value: ‘\x\x\x\x‘ for column ‘x‘
封装一个管理 url 状态的 hook
[Chinese tree tags - CTB]
C陷阱与缺陷 第7章 可移植性缺陷 7.8 随机数的大小
R语言进行相关的操作
with语句和上下文管理器
Graph adjacency matrix storage
C陷阱与缺陷 附录B Koenig和Moo夫妇访谈
Pytorch框架学习记录13——利用GPU训练
How to encapsulate the cookie/localStorage sessionStorage hook?
织梦模板加入php代码
LeetCode·32.最长有效括号·栈·动态规划









