首页 > 其他分享 >方法的定义

方法的定义

时间:2024-08-03 14:30:45浏览次数:13  
标签:静态方法 定义 void static 返回值 方法 public

方法的基本定义(将功能重复的代码封装成一段独立的代码,通过调用的方式以提高代码的复用性(减少代码重复))

限制条件:在主类中定义,并且由主方法直接调用的方法形式。
  • 方法就是一段可以被重复调用的方法块。在Java中要想进行方法的定义,则可以使用如下的语法完成。
public static 返回类型 方法名称([参数类型 变量, ......]) {
	方法体代码;
	[return [返回值];]
}

在定义方法的时候对于方法的返回值有一下的两类:
  • void:没有返回值;
  • 数据类型(基本类型,引用类型)。
1.定义一个没有返回值,没有参数的方法
public class TestDemo {
	public static void main(String[] args) {
		print();	//主方法里面直接调用方法
	}
	public static void print() {
		System.out.println("Hello	World!"); //定义方法
	}
}

2.定义一个有参数无返回值的方法
public class TestDemo {
	public static void main(String[] args) {
		print("Hello");	//主方法里面直接调用方法
		print("	world");
		print("!");
	}
	public static void print(String msg) {	//定义方法
		System.out.print(msg); 
	}
}

3.有参数有返回值的方法
public class TestDemo {
	public static void main(String[] args) {
		int result = add(10, 20);
		System.out.println(result);
		//既然方法有返回值,那么这些返回值也可以直接输出
		System.out.println(add(100, 200));
	}
	public static int add(int x, int y) {	//定义方法
		return x + y;
	}
}

方法包含成员方法和静态方法两种
  • 成员方法:成员方法是在类中定义的,成员方法是创建对象以后才分配内存,每个对象都各有一份。通过对象名进行访问。

    成员方法(Instance Methods)

    1. 定义:没有使用 static 关键字声明的方法。
    2. 调用:必须通过类的对象实例调用。
    3. 作用:用于操作对象的状态,即对象的属性和行为。
    4. 特点:
      • 可以直接访问类的成员变量和其它成员方法。
      • 与对象的状态紧密相关,每个对象实例都可以有自己的方法实现。
      • 在创建对象实例时可用,与对象的生命周期相关。
  • 静态方法:静态方法是在类中定义的,在创建对象前分配内存,所有对象共用一份,通过类名进行访问。注意:在静态方法中是不能访问成员变量和成员方法。

    静态方法(Static Methods)(使用前无需初始化)

    1. 定义:使用 static 关键字声明的方法。
    2. 调用:可以通过类名直接调用,而不需要创建类的实例。
    3. 作用:通常用于工具类,执行与类相关但不需要访问对象状态的操作。
    4. 特点:
      • 不能直接访问非静态成员变量和非静态方法,除非它们也被声明为静态。
      • 可以访问静态变量和静态方法,即使在没有类实例的情况下。
      • 被设计为属于类本身,而不是类的任何特定对象。
      • 在加载类时初始化,与类的生命周期相关。

    代码实例:

    public class Demo2 {
    public  void  mothod1(){
        System.out.println("我是成员方法");
    }
    static public  void  mothod2(){
        System.out.println("我是静态方法");
    }
    public static void main(String[] args) {
        Demo2 demo2 =new Demo2();//创建对象
        demo2.mothod1();//访问成员方法
        Demo2.mothod2();//访问静态方法
        demo2.mothod2();//也可访问静态方法,但不推荐,因为静态方法并不属于某个对象
    }
    }
    

方法的局部变量:

局部变量指在方法中声明的遍历,其作用范围仅限于方法中(局部变量在使用前必须进行初始化)

标签:静态方法,定义,void,static,返回值,方法,public
From: https://www.cnblogs.com/lnnnkq/p/18340440

相关文章

  • 方法的重载
    方法的重载(在同一个类中,有一个以上的同名方法)指得是一个类在Java中,同一个类中的多个方法可以有相同的方法名称,但是有不同的参数列表,这就称为方法重载(methodoverloading)。参数列表又叫参数签名,包括参数的类型、参数的个数、参数的顺序,只要有一个不同就叫做参数列表不同。......
  • 编程实现模重复平方法的算法
    模重复平方法(又称为平方法)是一种用于求解非线性方程的迭代算法。算法的基本思路是通过不断迭代替换变量的方式,将非线性方程转化为线性方程,从而求解方程的根。以下是一个编程实现模重复平方法的算法的示例:```pythondeffixed_point_iteration(f,x0,epsilon,max_iterations)......
  • 方法的作用
    方法的作用Java中方法(Method)的作用非常广泛,它们是面向对象编程的核心概念之一方法在Java中的一些主要作用:封装行为:方法允许将特定的行为封装在代码块中,这有助于组织和模块化程序。提高代码重用性:通过定义通用的方法,可以在不同的上下文中重复使用相同的代码,避免重复......
  • 数据结构--------二叉树的定义及遍历操作的实现
    /*二叉树的链式存储以及基本操作*/#include<stdio.h>#include<stdlib.h>//树的节点typedefstructBTNode{intdata;structBTNode*lchild;structBTNode*rchild;}BTNode,*BTTree;/......
  • coreseek4.1使用sphinx做索引的索引控制shell脚本及逻辑 及 linux安装coreseek4.1的sp
    一、coreseek4.1使用sphinx做索引的索引控制shell脚本及逻辑    sphinx做索引时索引数据来源可以有多种方式,比如数据库mysql,pgsql,mssql,odbc,也可以是python脚本,也可以是xml数据文件,xmlpipe(publish:November1,2017-Wednesday)。    一般来说,如果索引的数据比较简单,......
  • nodejs使用child_process模块启动(exec和spawn)子线程任务,子进程实例的kill()方法无效的
    以下内容在win10环境下的执行分析(这里就不对进程和线程做区分了):child_process.exec和child_process.spawn启动进程的区别。shell<string>Shelltoexecutethecommandwith.SeeShellrequirementsandDefaultWindowsshell.Default:'/bin/sh'onUnix,process.env.C......
  • JavaScript实现tab栏切换 jquery实现tab栏切换 的方法的对比
    这个例子比较简单,但却很实用,当然实际工作中我们一般不会这样去写,我们通常会把以此为基础去封装一个可重用的控件,但基本思想不变。JavaScript实现tab栏切换在JavaScript中实现Tab切换的基本逻辑是通过监听每个Tab的点击事件,然后隐藏所有的内容区域,并显示对应于点击的Tab的......
  • C#:通用方法总结—第11集
    大家好,今天继续分享我们的通用方法系列。下面是今天要分享的通用方法:(1)这个通用方法为Ug’校验选中体的个数: ///<summary>   ///输出选中体个数   ///</summary>   publicintCheckOneBody()   {       intselcount=0;      ......
  • JS阻止事件冒泡的方法
    JS事件冒泡在一个对象上触发某类事件(如单击onclick事件),如果此对象定义了此事件的处理程序,此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的......
  • PyTorch 训练自定义功能齐全的神经网络模型的详细教程
    在前面的文章中,老牛同学介绍了不少大语言模型的部署、推理和微调,也通过大模型演示了我们的日常的工作需求场景。我们通过大语言模型,实实在在的感受到了它强大的功能,同时也从中受益颇多。今天,老牛同学想和大家一起来训练一个自定义的、但是功能齐全的简单的神经网络模型。这个模型......