Day30-方法的分类和调用

Day30-方法的分类和调用

方法的分类:

//静态方法  有static

//非静态方法  没static

方法的调用:

​ 静态方法的调用:

语法:

​ 同一包中的不同类调用静态方法:

​ 类名.方法名 ClassB.staticMethod()

​ 通过类名直接调用

package com.example;

class ClassA {
    public static void main(String[] args) {
        ClassB.staticMethod();
    }
}

class ClassB {
    public static void staticMethod() {
        System.out.println("This is a static method in ClassB");
    }
}
  • 这里ClassAmain方法,通过ClassB.staticMethod()的形式,调用了ClassB中的静态方法staticMethod

示例:

​ 如果在Student类里面,有一个静态方法:

package com.liu.oop.demo01;
//类:Student
public class Student {
    public static void say(){
        System.out.println("学生说话了");
    }
}

如何在Demo02里调用?

package com.liu.oop.demo01;

public class Demo02 {
    public static void main(String[] args) {
       //如果是静态方法:
        Student.say();//学生说话了
    }
}

同一包中的同一类调用静态方法和上面相同!!!!!

非静态方法的调用

同一包不同类调用非静态方法:

语法:

package com.example;

class ClassA {
    public static void main(String[] args) {
        ClassB obj = new ClassB();
        obj.nonStaticMethod();
    }
}

class ClassB {
    public void nonStaticMethod() {
        System.out.println("This is a non - static method in ClassB");
    }
}
  • ClassAmain方法中,要实例化,就是通过new ClassB()创建了ClassB的一个对象obj,然后使用obj.nonStaticMethod()来调用ClassB中的非静态方法nonStaticMethod

示例:

//被调用的类
package com.liu.oop.demo01;
//类:Student
//非静态方法
public class Student {
    public void say(){
        System.out.println("学生说话了");
    }
}

//调用的类
package com.liu.oop.demo01;

public class Demo02 {
    public static void main(String[] args) {


        //如果是非静态方法:将被调用类类实名化  new关键字
        //对象类型 对象名=对象值
        Student student = new Student();
        student.say();//学生说话了
    }
}

同一包同一类的非静态方法调用:

示例:

package com.liu.oop.demo01;

public class Demo03 {

    public static void main(String[] args) {

    }
    //加法
    public int add(int a,int b){
        return a+b;
    }
}

在上面的代码里面,创建了add方法来计算两个数的和

如何在main方法里面,调用该方法来计算1+2?

下是在main方法中调用add方法来计算12的和的步骤:

调用步骤:

  1. 创建对象
    因为add方法是非静态方法,它是与类的实例相关联的,所以首先需要在main方法中创建Demo03类的对象。示例代码如下:

    package com.liu.oop.demo01;
    
    public class Demo03 {
    
        public static void main(String[] args) {
            // 创建Demo03类的对象
            Demo03 demo03Obj = new Demo03();
    
        }
        //加法
        public int add(int a, int b) {
            return a + b;
        }
    }
    

在上述代码中,通过Demo03 demo03Obj = new Demo03();语句创建了Demo03类的一个对象demo03Obj

2.调用 add 方法
在创建好对象之后,就可以通过该对象来调用add方法了。继续在main方法中添加以下代码来实现计算12的和:

package com.liu.oop.demo01;

public class Demo03 {

    public static void main(String[] args) {
        // 创建Demo03类的对象
        Demo03 demo03Obj = new Demo03();

        // 通过对象调用add方法计算1和2的和
        int result = demo03Obj.add(1, 2);
        System.out.println("1和2的和为:" + result);

    }
    //加法
    public int add(int a, int b) {
        return a + b;
    }
}

在上述扩展后的代码中,通过demo03Obj.add(1, 2);语句调用了add方法,并将返回的结果存储在变量result中,最后通过System.out.println()输出了计算结果。运行程序后,控制台将显示1和2的和为:3

posted @ 2024-11-04 14:04  1hahahahahahahaha  阅读(1)  评论(0编辑  收藏  举报