Static+递归

这篇博客介绍了Java中static的五种修饰用途,包括静态成员变量、静态方法、静态代码块、静态内部类和静态导包。强调了static修饰后可以直接被类名调用的特点,并对比了static与非static的区别。接着,讨论了封装的概念,推荐使用private修饰符确保字段隐私,并介绍了MyEclipse中快速生成get/set方法的方式。此外,博客还探讨了不定长参数的使用和方法重载的原则。最后,通过递归方法解释了如何利用递归解决斐波那契数列问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

static:

		 是我们main函数的一种修饰符                     
	     静态修饰符:标识成员可以被类直接调用               

static五种修饰
1:静态成员变量
2:静态方法变量
3:静态代码块
4:静态内部类
5:静态导包

       package cn.biji;
        
        public class StatinTest {
        
        	
        	static int number=10;//静态成员变量
        	
        	public static void main(String[] args) {
        			
        
        	}
        	public static void sayHello(String name){//静态函数
        		System.out.println(name+"您好");
        	}	
        	static{
        		System.out.println("这是静态代码....");//静态代码块
        	}
        	
        	static class innerClass{//静态内部类
        		
        	}
        }

static修饰后:
可以被类名直接调用

  类名.属性名
  类名.方法名
static与非static之间的重要区别:

  • List item

    区别1:

  •     static修饰的成员是随着类的加载而加载(优先)
          非static成员是随着对象的创建而加载
    

    区别2:

  •       静态方法|静态代码块只能调用静态成员,非静态成员是不能直接调用的,创建对象(不能使用this关键字)
          非静态方法可以直接调用非静态成员,也可以调用静态成员.类的对象进行调用静态成员
    

    区别3:

  •       静态成员对于多个对象而言是共享的
          非静态成员对于多个对象是彼此独立的
    

封装

1.把类的公有属性定义在内部的过程被称之为封装:

	变量 方法

2.为了保证字段的隐私性: 我们选择使用private修饰符修饰变量

	声明对应的get/set方法对变量的读写操作提供支持

  框架中只认get/set方法 MyEclipse中生成get set的快捷键 alt+shift+s 点击R键 选择对应的字段 生成get/set

public static void main(String[] args) {
	   Person p=new Person();
	   Person p1=new Person();
	   p.setName("张三");
	   p.setAge(16);
	   System.out.println("我叫:"+p.getName()+",今年:"+p.getAge());
	   System.out.println("我叫:"+p1.getName()+",今年:"+p1.getAge()); 
	    }
package cn.bdqn;

  public class Person {
     	private String name="无名氏";
        private int age=18;
   

 public String getName() {
    return name;
    }

 public void setName(String name) {
	this.name = name;
  }

 public int getAge() {
	return age;
  }

 public void setAge(int age) {
	this.age = age;
 }

不定长参数(0~N)

  	类型...参数名 语法:不定长参数的要求:必须写在参数列表的末尾

方法重载:

保证同名方法的参数不同: 个数 类型 顺序

	和访问修饰符 返回值类型无关 

递归方法解决斐波那契数列

递归函数:

  在一定程度上可以为循环
  自己调用自己本身的方法被称为递归函数

  •   最重要的就是递归何时结束!
    
    import java.util.Scanner;
    
    public class ZuoYe01 {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		System.out.println("请输入项数");
    		Scanner inScanner=new Scanner(System.in);
    		int n=inScanner.nextInt();
    		System.out.println(f(n));
    		
    	}
    		public static int f(int n){
    				if (n == 1 || n == 2) {
    					return 1;
    					} else {
    					return f(n-1)+f(n-2);
    					}
    				
    }
    	
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值