首页 > 其他分享 >Day30-方法的分类和调用

Day30-方法的分类和调用

时间:2024-11-04 14:00:15浏览次数:1  
标签:调用 静态方法 分类 ClassB Day30 static main public

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

标签:调用,静态方法,分类,ClassB,Day30,static,main,public
From: https://www.cnblogs.com/xiaokunzhong/p/18525076

相关文章

  • Day30--值传递和引用传递
    Day30--值传递和引用传递在Java中,参数传递采用的只有值传递,没有引用传递值传递示例:创建一个叫change的方法,a=10;packagecom.liu.oop.demo01;//值传递publicclassDemo04{publicstaticvoidmain(String[]args){}//返回值为空publics......
  • Day30--类的属性
    Day30--类的属性定义在Java中,类的属性(也称为成员变量)是定义在类内部、方法外部的变量。它用于描述类的对象所具有的特征。示例考虑一个简单的Person类,它具有姓名(name)、年龄(age)和性别(gender)等属性classPerson{//姓名,这是一个类的属性(成员变量)String......
  • Day30--类的个数
    Day30--类的个数在Java中,只有一个公开类,可以有多个类详细解释:一个Java源文件中可以有多个类在Java中,一个.java文件中可以包含多个类。例如:classClassA{//ClassA的成员和方法}classClassB{//ClassB的成员和方法}publicclassMain{publics......
  • Day30--如何引用其他的类
    Day30--如何引用其他的类同一包内引用其他类无需导入(在某些情况下):如果多个类在同一个包中,并且没有使用任何访问限制(如private)阻止访问,在一个类中可以直接创建对象然后使用另一个类。例如,有ClassA和ClassB在同一个包com.example中:packagecom.example;classClassA{......
  • continue调用1.5B小模型实现代码fast-apply
    100tok/s生成速度,就问够不够fast?用过cursor的小伙伴一定对有个功能印象深刻,那就是fastapply功能。只要点一下,就可以把对话框中AI生成的代码快速地应用到编辑器的当前代码文件里,然后下一步就是对比变更,accept或者reject代码块,相比于要手动从对话框复制代码到编辑器里粘贴修改,这......
  • torch--多层感知机实现图像分类
    方法一:"""多层感知机简单实现Fashion-MNIST分类,从零开始实现"""importtorchimporttorchvisionfromtorch.utilsimportdatafromtorchvisionimporttransformsfromd2limporttorchasd2lfromIPythonimportdisplayimportmatplotlib.pyplotas......
  • PbootCMS模板调用友情链接标签代码
    适用范围:全站任意地方标签作用:用于依次输出指定分组的友情链接调用代码:html {pboot:linkgid=*num=*}<ahref="[link:link]"title="[link:name]"><imgsrc="[link:logo]"></a>{/pboot:link}控制参数:gid=*:分组,必填num=*:数量,非必填,默认为10个可使用的列表......
  • PbootCMS模板调用幻灯片轮播图标签
    幻灯片轮播图列表:{pboot:slidenum=3gid=1}<ahref="[slide:link]"target="_blank"><imgsrc="[slide:src]"alt="[slide:title]"/></a>{/pboot:slide}控制参数:gid=*:分组,必填。num=*:数量,非必填,默认为5个。可用列表标......
  • 轴承故障全家桶更新 | 基于时频图像的分类算法
    往期精彩内容:Python-凯斯西储大学(CWRU)轴承数据解读与分类处理Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客三十多个开源数据集|故障诊断再也不用担心数据集了!P......
  • 帝国CMS灵动标签调用tags名称与链接方法
    调用tags:使用以下代码:[e:loop={"select*fromcn_enewstagsorderbynumdesclimit30",0,24,0}]<li><ahref="<?=$public_r[newsurl]?>e/tags/?tagid=<?=$bqr['tagid']?>"target="_blank"><?=$b......