小饶学编程之JAVA SE第一部分——面向对象:07方法

一、认识方法

解决某一件事的功能实现。方法,是一段代码块的封装,方法中的代码应围绕某一功能的实现来写,目标明确,逻辑清晰。
方法的状态:方法编写完成后,没有调用的状态叫作方法的声明,被其它方法调用时,叫调用状态。
方法的语法格式:

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){ 
	执行语句
1.方法的调用
2.变量的操作:声明 赋值  修改
	3.程序结构:选择结构 循环结构……… 
	return 返回值;
}

对于上面的语法格式中具体说明如下:

  • 修饰符:方法的修饰符比较多,有对访问权限进行限定的,公有修饰符public,私有修饰符private,有静态修饰符static,还有最终修饰符final等
  • 没有static修饰的默认为非静态(实例),静态属于类,而实例属于对象。
  • 返回值类型:用于限定方法返回值的数据类型
  • 有返回值:基本数据类型 类和接口 没有返回值:void
  • 参数类型:用于限定调用方法时传入参数的数据类型
  • 参数名:是一个变量,用于接收调用方法时传入的数据
  • return关键字:用于结束方法以及返回方法指定类型的值
  • 返回值:被return语句返回的值,该值会返回给调用者

需要特别注意的是,方法中的“参数类型 参数名1,参数类型 参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。

二、参数

2.1形参

形参:形式参数,在声明一个方法时,方法名后面的小括号中,就是形参,
格式:(参数数据类型 参数名)

2.1实参

实参:实际参数,在调用一个方法时,方法名后面的小括号中,就是实参。
格式:(参数值或一个同类型的变量)

三、返回值

1.返回值指的是:根据实际的业务需求,对某一功能用程序实现后,需要有一定的产出。
2.返回值类型定义在方法名的前面,分两种:

  • 有返回值:基本数据类型,和引用数据类型(也就是类和接口)
  • 无返回值:void

3.返回值用关键字return 表示。

四、方法的调用和传参

4.1调用

方法分静态和非静态,同一个类中,静态方法直接调用静态方法,
静态方法调用非静态,要先创建对象,然后再调用。因为静态方法是属于类的,非静态属于对象的。
不同的类中:调用静态方法,直接是类名.方法名();调用非静态:创建对象,再调用。
同一个类中:

主调方\被调方静态方法实例方法
静态直接写方法名调创建对象,再调
实例直接写方法名调直接写方法名调(省略this)

不同的类中:

主调方\被调方静态方法实例方法
静态直接写类名.方法名()来调创建对象,再调
实例直接写类名.方法名()来调创建对象,再调

4.2传参

调用有多个参数的方法时,传参的顺序一致,数据类型保持一致。

五、构造方法

1.构造方法的作用:开辟内存空间,生成对象,俗称类创建对象的过程叫实例化
特点:方法名和类名相同,没有返回值一说,连void也没有。

2.构造方法分为有参构造和无参构造
无参构造:jvm虚拟机在加载类时会自动创建,每个类都默认有一个无参构造。

public class Monkey{
    private String name;
    private int age;
    
    public Monkey() {
    }
}

有参构造:需要开发人员自己去编写,它的作用是:实例化对象的同时,为对象的成员属性赋值。有参构造=无参构造+set方法。

public class Monkey{
     String name;
     int age;
    
    public Monkey(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

六、方法重载

1.一个类中,同名不同参数的两个或以上的方法叫做方法的重载。有参构造和无参构造就是典型的方法重载
2.如果类中只有有参构造,忘记了写无参构造 ,类中的有参构造会覆盖默认的无参构造
3.如果类中有参构造和无参构造都忘记了写 ,虚拟机在加载该类的时候会默认帮你生成一个无参构造。
4.有参构造方法中的this指的是,调用该构造方法得到的那个对象,this又称为当前对象。
5.目的:简化方法的调用,不用在方法名上刻意区分不同功能的方法。
6.判断是否是重载只看两个因素:1.方法名相同,2.参数不同,3.是同一个类。例如:

		//1.println的重载方法
        System.out.println(1);
        System.out.println("hello");
        //2.Arrays类中toString的重载方法
        int[] a= new int [2];
        char[] b=new char[2];
        Arrays.toString(a);
        Arrays.toString(b);
        //3.err和out都是PrintStream类中的对象,println()都是PrintStream类中的方法
        System.err.println("哈哈");
        System.out.println(1);//

七、成员变量和局部变量

7.1成员变量(全局变量)

类的成员,比如:属性、方法、代码块。

  • 问:成员变量和属性又是什么关系呢?
  • 答:同一个东西的不同称呼。从作用域的范围看,叫成员变量,从类的剖析角度来看,叫属性。

7.1局部变量

代码块{} 类代码块,方法代码块,循环代码块,无名代码块, try-catch代码块。
方法的参数属于的局部变量,形参相当于变量的声明,实参相当于初始化(赋值)。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱喝皮蛋瘦肉粥的小饶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值