欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Java基础(8)- Java代码笔记5

Java基础(8)- Java代码笔记5

2025/11/8 4:36:44 来源:https://blog.csdn.net/weixin_47062560/article/details/141822235  浏览:    关键词:Java基础(8)- Java代码笔记5

目录

一、static关键字

1.概述:静态关键字

2.使用

a.修饰一个成员变量

b.修饰一个方法

3.调用静态成员:类名直接调用(不用new对象)

4.静态成员特点:

5.static修饰成员的访问特点

6.静态成员在开发中的使用场景

二、可变参数

1.定义格式

2.位置

3.注意

4.可变参数应用

三、递归

1.概述

2.分类

3.注意

4.递归应用


一、static关键字

1.概述:静态关键字

2.使用

a.修饰一个成员变量

static 数据类型 变量名

b.修饰一个方法

修饰符 static 返回值类型 方法名(形参){

        方法体

        return 结果

}

3.调用静态成员:类名直接调用(不用new对象)

4.静态成员特点:

a.静态成员属于类成员,不属于对象成员(非静态的成员属于对象成员)

b.静态成员会随着类的加载而加载

c.静态成员优先于非静态成员存在在内存中

d.凡是根据静态成员所在的类创建出来的对象,都可以共享这个静态成员

5.static修饰成员的访问特点

a.在静态方法中能直接访问非静态成员吗?

不能 (秦始皇-康熙),需要new对象

b.在非静态方法中能直接访问静态成员吗?

能,同类直接调用,或者类名调用。不同类需要类名调用。

c.在静态方法中能直接访问静态成员吗?

能,同类直接调用,或者类名调用。不同类需要类名调用。

d.在非静态方法中能直接访问非静态成员吗?

能,同类直接调用,或者new对象调用,不同类new对象调用。

6.静态成员在开发中的使用场景

问题1:可否把所有成员都定义成静态的?

不能,类加载都进内存,占用内存过大。

问题2:静态成员什么时候定义?

抽取工具类的时候可以把工具类中所有成员都定义成静态的。

问题三:什么时候定义工具?

代码反复实现且相同,功能一样,可以抽取出来当作工具类。

二、可变参数

1.定义格式

数据类型...变量名

2.位置

方法参数位置,只明确了参数类型,但是不明确参数个数,此时就可以定义成可变参数

3.注意

a.可变参数的本质是一个数组

b.参数位置不能连续写多个可变参数,而且可变参数和其他普通参数一起使用时,可变参数需要放到参数列表最后

public class Demo01Var {public static void main(String[] args) {sum(1,2,3,4,5);}public static void sum(int...arr){int sum=0;for (int i = 0; i < arr.length; i++) {sum+=arr[i];}System.out.println(sum);}
}

4.可变参数应用

a.字符串拼接

三、递归

1.概述

方法内部自己调用自己

2.分类

a.直接递归

public static void method(){method();
}

b.间接递归

A(){B()
}
B(){C()
}
C(){A()
}   

3.注意

a.递归必须有出口,否则内存溢出

b.递归即使有出口,递归次数不要太多

4.递归应用

a.递减输出

b.阶乘

c.斐波那契数列

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词