Java学习Day15:基础篇5

1.参数问题

2.变量

3.可变参数

package 方法demo1__code;

public class two {
    public static void main(String[] args) {
        text.add(3,4,5,6);
    }
}
class text{
   static void add(int ... a){
    }
}

可变参数其实是一个数组,可以用数组的方式使用;

ATT:

1.定义时定义在最后后面,不然可变参数后面的参数永远接收不到数据!

2.可变参数只能有一个

3.可变参数本质是数组

4.方法重载

实现场景:

实现两个数相加但是并没有指明类型;

int+int或者double+double;

例子:

import java.util.Scanner;

public class two {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int a= sc.nextInt();
            int b= sc.nextInt();
            int c=one(a,b);
            System.out.println(c);
            String d = sc.next();
            String e = sc.next();
            String f =one(d,e);
            System.out.println(f);
        }
        public static int one(int a ,int b){
            return a+b;
        }
        private static String one (String a ,String b){
            return a+b;
        }
    }

5.静态及非静态方法

在Java中,静态方法(Static Methods)和非静态方法(Instance Methods)在行为和使用场景上存在显著差异。静态方法属于类本身,而非静态方法则属于类的实例。下面我将通过实现一个简单的功能——计算两个整数的和,来展示这两种方法的区别和用法。

静态方法实现

静态方法可以直接通过类名调用,无需创建类的实例。由于它不依赖于对象的状态(即不访问非静态成员变量),因此它不能访问类的非静态成员(包括方法和变量)。

java复制代码

public class Calculator {
// 静态方法实现加法
public static int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
// 直接通过类名调用静态方法
int sum = Calculator.add(5, 3);
System.out.println("The sum is: " + sum);
}
}
非静态方法实现

非静态方法需要通过类的实例来调用。这意味着在调用非静态方法之前,必须先创建类的实例。非静态方法可以访问类的静态成员和非静态成员。

 

java复制代码

public class Calculator {
// 非静态方法实现加法
public int add(int a, int b) {
return a + b;
}
public static void main(String[] args) {
// 创建Calculator类的实例
Calculator calc = new Calculator();
// 通过实例调用非静态方法
int sum = calc.add(5, 3);
System.out.println("The sum is: " + sum);
}
}
静态方法与非静态方法的区别
  1. 调用方式:静态方法通过类名直接调用,而非静态方法需要通过类的实例来调用。

  2. 访问权限:静态方法只能直接访问类的静态成员(静态变量和静态方法),而非静态方法可以访问类的所有成员(静态和非静态)。

  3. 用途和场景:静态方法通常用于实现与类本身相关的工具性功能,不依赖于任何对象实例的状态。非静态方法则用于实现与对象实例紧密相关的功能,需要访问或修改对象实例的状态。

  4. 内存分配:静态方法属于类本身,它们在类加载时就被加载到JVM的方法区,而非静态方法则属于对象实例,它们随着对象的创建而创建,随着对象的销毁而销毁。

综上所述,选择使用静态方法还是非静态方法,取决于你希望实现的功能是否与类的实例状态相关。如果功能不依赖于对象的状态,那么使用静态方法会更方便、更高效。如果功能需要访问或修改对象的状态,那么应该使用非静态方法。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值