贵阳手机网站开发重庆seo技术教程
各种修饰符的作用域:
abstract:
只能修饰方法和类,不能修饰属性。代表抽象方法和抽象类
类需要子类去实现
final:
修饰属性:值不可变
修饰方法:方法不可被覆写
修饰类:类不可以被继承
static:
当我们想让自己的属性和方法与对象不关联的时候,或者想让某些方法在main调用之前实现。就可以使用。
当类加载的时候,静态属性就会被分配空间。
1.static segment(栈):申明一个局部变量放在栈中。
2.heap segment(堆):new一个对象时,对象放在堆中。
3.data segment(数据区):static的变量或者字符串变量放入数据区。
4.code segment(代码区):类中的方法放入代码区。
1.static修饰成员变量:当类加载的时候,成员变量就会被分配空间。
2.static修饰成员方法:是类的方法,不能使用this和super,因为类加载的时候就会有这个方法,这个时候对象可能还实例。而且只能访问静态属性和静态方法。
3.static修饰代码块:
4.static修饰内部类:只有内部类可以被定义为static
不能在成员函数里面定义 static百年来那个否则会编译失败
switch():
里面是int类型的,小于int类型的就可以使用(byte short char)内部会隐式的转换,java7之后也支持了String,也是调用hashcode方法,转换为32int类型
volatile:
保证可见性,因为java会对经常访问的值进行优化,把它放在寄存器里面,而不是从内存里面拿,在多线程的环境里,会导致拿到的值不一样,用volatile修饰的变量,保证其从内存里面拿
instanceof:
判断左边的对象是否是右边(类,接口,抽象类,父类的实例)
strictfp:
保证精度
public strictfp class Test{
}
栈:用来存放基本类型变量和引用
堆:用来存放引用数据类型开辟的空间。
数组:
链表: