static简介以及使用方法
什么是Static:
是我们main函数的一种修饰符,也叫静态修饰符,标识成员可以被类直接调用
static的五种使用方式
- 静态成员变量
- 静态成员方法
- 静态代码块
- 静态内部类
- 静态导包
static的调用
类名.属性名
类名.方法名
static与非static之间的重要区别:
- 1.static修饰的成员是随着类的加载而加载(优先)
非static成员是随着对象的创建而加载
- 2.静态方法|静态代码块只能调用静态成员,非静态成员是不能直接调用的,创建对象(不能使用this关键字)
非静态方法可以直接调用非静态成员,也可以调用静态成员.类的对象进行调用静态成员
- 3.静态成员对于多个对象而言是共享的
非静态成员对于多个对象是彼此独立的
什么叫做封装:
把类的公有属性定义在内部的过程被称之为封装:变量 方法
为什么使用private修饰变量:
为了保证字段的隐私性: 我们选择使用private修饰符修饰变量
声明对应的get/set方法对变量的读写操作提供支持
不定长参数的创建:
类型...参数名
static double add(double...number){ double sum=0; for (int i = 0; i < number.length; i++) { sum+=number[i]; } return sum; }
不定长参数的要求:
必须写在参数列表的末尾
什么叫做递归函数:
在一定程度上可以理解为循环
或者可以说是自己调用自己本身的方法被称为递归函数
**** 最重要的就是递归何时结束!*****
//这个是用递归实现的斐波那契数列
//这是创建的Class类
public static int feibo1(int number){ if(number==1||number==2){ return 1; }else { return feibo1(number-1)+feibo1(number-2); } }
//这个是测试类
public class TextFoNa { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.println("请输入一个长度:"); int number=input.nextInt(); for (int i = 1; i <= number; i++) { System.out.print(FoNa.feibo1(i)+"\t"); } }
//以下图片可以更好地帮助理解递归,
解释一下:输入的5是测试时候随意输入的,return返回的值也就是上面Class里的这句话feibo1(number-2)+feibo1(number-1),可以理解为5是第3个数和第4个数相加得来的
什么是方法重载:
保证同名方法的参数不同: 个数 类型 顺序
和访问修饰符 返回值类型无关
小提示:
*方法定义处,参数叫形式参数,也叫形参(主要约束参数的类型)
* 形参名字可以随便取,但是要符合驼峰命名规则,同时要有意义
* 方法调用处,参数叫做实际参数,也叫实参
* 实参名字也可以随便取,但是要符合驼峰命名规则,同时也要有意义
* 方法有没有返回值,和方法有没有参数,没有任何关系
* 方法参数可以有一个,也可以有多个,多个参数之间用逗号隔开(在形参和实参都是这样)
* 形参和实参数量一定要一致,数据类型一定要一致
* 当参数传递为基本数据类型时,参数变化不保留,基本数据类型参数传值
* 当参数传递为引用数据类型时,参数变化会保留,引用数据类型参数传址
努力到无能为力,拼搏到感动自己