java零基础入门第四天 方法的调用 方法的返回 实参 形参 封装 实际变量 局部变量

本文深入探讨Java中对象的行为,即方法的概念,包括方法的定义、调用、返回值,以及get和set方法的封装作用。通过实例解析实参、形参、局部变量和成员变量的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这章主要内容讲方法,书中章节名字叫对象的行为,在之前章节中,我们描述过类是蓝图,是我们工程师的设计图,设计出一个个对象,对象又有自己的实例变量值,那么方法呢?

方法被称为对象的行为,根据不同类,有不同的方法,比如人类,我们可以给他定义一些 跑 唱 跳的方法,那么每个不同人(对象)他们都能执行这些方法。

在书中第73页定义了狗的类,定义了狗的两个属性,一个是大小,一个名字,还有一个方法,根据狗不同的大小,叫的声音也不一样,在定义了一个dog类型对象时候,对象就可以通过原点标识符,也就是英文的小数点.就可以调用对象的属性及方法。

在java学习第三天时候我写了一个例子,关灯的方法, light1.turnOff(light1); 在调用turnOff这个方法的时候,要传入对应的实参(实际参数) 比如turnOff 要求传入的是Light 类型的参数,那么调用的时候 传入的一定要是 Light类型

public void turnOff(Light L) {//谁调用关灯方法的时候 都要传关灯的对象过来,这样我才知道是哪个灯要关
        L.lightNum = 0;//关闭灯了,就将灯泡的亮度变为0
       System.out.println("关闭后亮度 :"+L.lightNum );
    }

调用方式代码

 Light light1 = new Light();
	//灯1执行关灯 调用关灯方法时候将灯1这个对象传过去
        light1.turnOff(light1);

整个类完整代码

class Light{
    int lightNum;
    
    public static void main (String[] args) {    
        //创建Light对象
        Light light1 = new Light();
	//灯1执行关灯 调用关灯方法时候将灯1这个对象传过去
        light1.turnOff(light1);
	//灯1亮度设为99
        light1.lightNum = 99;
 
        // 创建Light数组
        Light [] mylight = new Light[3];
        mylight[0] = new Light();
        mylight[1] = new Light();
        mylight[2] = light1;
 
        // 通过数组引用存取Light
        mylight[0].lightNum = 100;
        mylight[1].lightNum = 50;
        
        
        //把灯全关
        int x = 0;
        while(x<mylight.length){//数组有个length的变量,能返回元素,通常用在循环,判断
        System.out.println("关闭前灯泡亮度 :"+mylight[x].lightNum );
            mylight[x].turnOff(mylight[x]);
            x = x+1;
        }
    }
 
    public void turnOff(Light L) {//谁调用关灯方法的时候 都要传关灯的对象过来,这样我才知道是哪个灯要关
        L.lightNum = 0;//关闭灯了,就将灯泡的亮度变为0
       System.out.println("关闭后亮度 :"+L.lightNum );
    }
}

在书中是从74-79页。而方法有些情况是需要返回的 如果将关灯方法改成有返回的那么代码如下

public int turnOff(Light L) {//谁调用关灯方法的时候 都要传关灯的对象过来,这样我才知道是哪个灯要关
     	return 0;//返回值为0
    }

调用时候还是要对象去调用,但是返回的值要赋值给 灯的亮度

//创建Light对象
        Light light1 = new Light();
	//灯1执行关灯 调用关灯方法时候将灯1这个对象传过去
        light1.lightNum = light1.turnOff(light1);//将返回的值赋值给灯的亮度

全部完整代码

class Light{
    int lightNum;
    
    public static void main (String[] args) {    
        //创建Light对象
        Light light1 = new Light();
	//灯1执行关灯 调用关灯方法时候将灯1这个对象传过去
        light1.lightNum = light1.turnOff(light1);
 	System.out.println("111关闭后灯泡亮度 :"+light1.lightNum );
	//灯1亮度设为99
        light1.lightNum = 99;

        // 创建Light数组
        Light [] mylight = new Light[3];
        mylight[0] = new Light();
        mylight[1] = new Light();
        mylight[2] = light1;

        // 通过数组引用存取Light
        mylight[0].lightNum = 100;
        mylight[1].lightNum = 50;
        
        
        //把灯全关
        int x = 0;
        while(x<mylight.length){//数组有个length的变量,能返回元素,通常用在循环,判断
        System.out.println("关闭前灯泡亮度 :"+mylight[x].lightNum );
            mylight[x].lightNum = mylight[x].turnOff(mylight[x]);
 	System.out.println("关闭后灯泡亮度 :"+mylight[x].lightNum );
            x = x+1;
        }
    }

    public int turnOff(Light L) {//谁调用关灯方法的时候 都要传关灯的对象过来,这样我才知道是哪个灯要关
     	return 0;
    }
}

运行结果

有返回跟没返回的方法都介绍了,调用的时候传入的参数 称为实参,也就是实际传入的参数,而方法定义要求的参数叫做形参,这个也介绍了,不懂得书上74-79再看一遍

java面向三大特性继承我们在第一章的时候有稍微提一下,今天讲第二个特性叫 封装,书中是80-82页,在最常用的方法中数一数二的两个方法肯定是get跟set

在书中的例子里,get set是用于获取dog这个类的大小,get是为了获取大小的值,所以肯定是有返回的,size的类型是int类型,所以返回的是int类型

public int getSize(){
       return size;
}

而set这个是给对象设置size,因为这个方法不需要返回,所以用void,而且要设置修改size 需要修改的大小需要由对象调用时候传入的实参来定义,所以这边要写好形参 要求是int类型 的变量名可以自己定义 不要关键字就可以,然后将变量赋值给size这样就可以改变了size

public void setSize(int s){
       size = s;
}

这样就会出现下面两种情况,例如当我有个灯每次需要获取状态或者修改灯的属性的时候,我只要去get set调用就可以了,封装好了方法,多个地方都能使用,而且安全性能也高

专业的描述 :提高了代码的安全性,提高了代码的可读性和复用性

83页的数组对象的行为 看上面灯泡的循环全关的方法就是就

在85讲了一个实际变量跟局部变量,其实就两句话,实际变量是定义在类中,而局部变量是定义在方法

像我们经常在方法写的用于判断循环次数,就是局部变量也是最常用的一种方式。

第86页是变量的比较,这个看下就好了没什么要展开说的

总结下 内容有 方法的调用 方法的返回 实参 形参 封装 实际变量 局部变量。差不多到这里基本知识就讲完了,明天我们就可以开始做一个攻击舰艇的游戏。明天见

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值