static静态,递归累加。

static静态,递归累加。,第1张

再谈静态时,我们先说说对象的内容,什么是对象,比如我要建立一个Scanner的对象我们会这样做Scanner duixiang=new Scanner(System.in);意思是我要用Scanner类的时候要建立Scanne的对象,通过对象来引用,我们怎样才能不用建立对象就能引用呢?这时候就能突出静态的static的作用了,看代码

import java.util.Scanner;
class fact{
    fact(){
    System.out.println("你好");//这是构造方法是构造函数
}   //类名=方法名我们称为构造函数
    void fact1(){
    System.out.println("hello");
static int fact(int k){        //两个函数名相同,参数不同我们称为构造函数的重载
    if(k==1){
				return 1;
			}
			else
			{
				return k*fact(k-1);
			}
    }
public static void main(String[] args) {
int j,f,sum=0;
int k;
System.out.println("请输入你需要的阶乘数:");
Scanner in=new Scanner(System.in);
int i=in.nextInt();
for(j=1;j<=i;j++){
		sum+=fact(j);//为什么fact可以直接用而不是“对象.fact(j)”因为加了静态static所以直接用
				}System.out.print("1!+2!+3!...+n!="+sum);//这里会输出累加的结果
//而没有静态的fact()需要创建对象才能用
    fact dx=new fcat(); //构造函数在创建的时候直接引用,因为他没返回值类型也没void所以
                       //他是缺省值,缺省值可以直接用,这句会输出“你好”
    fact dx1=new fact();        //创建对象的方式  类名  对象 = new 类名()
    dx1.fact1();        //这个对象只能引用fact1()的内容,因为静态的不能被对象引用,
                          //这里会输出hello
		}
		}

运行结果:

请输入你需要的阶乘数:

假如你输入的是:5

1!+2!+3!...+n!=153

你好

hello

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/720573.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存