static静态,递归累加。

再谈静态时,我们先说说对象的内容,什么是对象,比如我要建立一个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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值