5.javase基础5
5.1 方法
方法的特点: 重载
在同一个类中的多个方法
方法名相同
参数列表不同|方法签名不同
方法签名: 方法的唯一标识 相当于人的身份证号
方法签名 = 方法名+参数列表
重载的作用:
实现一个功能,但是这个功能存在不同的实现方式或者参数的时候,可以利用方法的重载
注意事项
重载参数列表不同: 参数的个数 参数的类型 不同类型的顺序不同
重载与参数的名字无关
与修饰符无关
与返回值类型无关
只与方法名与参数列表有关
好处: 便于程序猿的后期使用与开发
调用:
根据不同的实参决定调用哪一个重载方法
面向对象的三大特性: 封装 继承 多态
方法就是封装的一种体现
方法的重载就是多态的一种体现
public class OverloadDemo02{
public static void main(String[] haha){
byte b = 1;
test(b);
}
//重载
public static void test(int i){
System.out.println("一个int类型参数的方法test");
}
public static void test(double i){
System.out.println("一个double类型参数的方法test");
}
public static void test(int i,double j){
System.out.println("一个int,一个double类型参数的方法test");
}
public static void test(double j,int i){
System.out.println("一个double,一个int类型参数的方法test");
}
public static void test2(int i,int j){
System.out.println("2个int类型参数的方法test2");
}
}
5.2 递归
递归: (了解)
方法自己调用自己
建议:
不建议频繁大量使用
简单,使用不好有可能造成内存的溢出
递归头: 停止自己调用自己的条件
递归体: 自己调用自己
临界条件 : 停止自己调用自己的条件
递归前进段 : 自己调用自己直到临界条件的过程
递归后退段 : 从临界条件开始一直返回到调用的上一层
public class Recursion03{
public static void main(String[] haha){
//求5!阶乘 5*4*3*2*1
int result = 1;
for(int i=5;i>=1;i--){
result*=i;
}
System.out.println(result);
System.out.println(rec(5));
}
//需求: 实现求某一个数的阶乘
//参数: int i
//返回值: int
public static int rec(int i){
if(i==1){
return 1;
}
return i*rec(i-1);
}
}
5.3 创建对象
手机类的测试类
使用自定义类:
1.导包
指明要使用类的位置
注意: 如果要使用的类与当前的类在同一个包下,不需要导包
2.构建当前引用数据类型的引用|变量
new 关键字就是用来创建对象的
数据类型 变量名|引用|对象名 = new 数据类型();
3.通过对象使用功能|属性
引用名.属性名
引用名.方法名()
课后练习:
定义小汽车类,创建小汽车对象
定义 电脑类,创建电脑对象测试
public class PhoneTest{
public static void main(String[] args){
//1.创建对象
Phone p = new Phone();
//2.为属性赋值
p.color = "白色";
p.brand = "华为";
p.size = 6.0;
p.price = 6999;
//3.使用功能
p.call();
//查询手机对象的属性值
System.out.println(p.color);
System.out.println(p.brand);
System.out.println(p.price);
System.out.println(p.size);
}
}
5.4 idea的使用
.out.println(p.color);
System.out.println(p.brand);
System.out.println(p.price);
System.out.println(p.size);
}
}
5.4 idea的使用