限定符及属性初始化规则

SE
1)访问限定符
1.顶级 2.成员级
四种访问限定符
1.public 2.package -private 3.protected 4.private
1.public 2.空白 3.protected 4.private
2) static限定符
静态属性/静态方法
静态属性保存类(方法区)中
static最关键作用就是和对象解绑
1>.属性 没有存在对象中,存在类中
2>.方法 没有一个隐式的当前对象的引用 this
特点:
1.在静态方法中(静态上下文)无法使用非静态的内容静态方法中,无法访问普通属性,无法调用普通方法,无法使用this
2. 静态属性的存在并且只存在一份,表现出共享的特性,类似全局变量。
规范:
访问限定符 static
public static(推荐使用)
static public (语法没错,但不是最好的)
3)属性(包括静态属性)的初始化规则
初始化的方法:
静态属性:
1.定义时直接初始化
2.静态代码块初始化
语法 static {初始化语句}
普通:
1.定义时初始化
2.初始化代码块初始化
语法{初始化语句}
3.在构造方法中
时机:
静态属性:类被加载到内存中时
普通属性: 对象被实例时
顺序:
1).类的加载一定发生在对象实例化之前
静态属性的初始化一定在普通属性初始化之前
2).静态属性初始化顺序,按照定义类时的书写顺序初始化
3).普通属性初始化顺序:定义时和构造代码块按照书写顺序初始化
构造方法中的初始化一定发生在最后
== 数据结构-复杂度==
复杂度:不求甚解地衡量算法好坏的刻度尺
时间复杂度(重点) 空间复杂度
n: 输入数据的规模
f(n): 在n数据规模的情况下,基本数据个数
== 二分查找==

public  static class   BinarySearch{
	public  static   void   main(String[]   args){
		
	}
	public  static  int  binarySearch(int[] a,int   v){
		int  left=0;
		int right=a.lenght-1;
		while(left<=right){
			int mid=(left+right)/2;
			if(v>a[mid]){
				left=mid+1;
			}else{
				if(v<a[mid]){
					right=mid-1;
				}else{
					return  mid;
				}
			}
		}
		return -1;//没找到
	}
}
/*while(left<=right){
	int  mid=(left+right)/2;
	if(v==a[mid]){
		return mid;
	}else{
		if(v>a[mid]){
			left=mid+1;
		}else{
			right=mid-1;
		}
	}
}
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值