现在的位置: 首页 > 综合 > 正文

关于java的总结和学习(四)

2018年05月14日 ⁄ 综合 ⁄ 共 828字 ⁄ 字号 评论关闭

9.switch()后只能为byte,short,int,char四种类型。

(jdk7.0版本支持字符串类型)

 

10.static详谈(static可以修饰属性,方法,语句块,内部类不能修饰局部变量》)

<1>.被static修饰的成员变量和成员方法独立于该类的任何对象,也就是说,它不依赖类特定的实例,被类的所有实例共享。

<2>.static对象可以在它的任何对象创建之前访问,无需引用任何对象。

<3>.用static修饰的代码块表示静态代码块,当java虚拟机加载类时,就会执行该代码块,一个类中可以有多个静态代码块,java虚拟机加载类时会按照它们出现顺序执行,每个代码块只会被执行一次。

<4>.静态变量:

                      java虚拟机只会为其分配一次内存,在加载类的过程中,完成静态变量的内存分配。

       实例变量:

                      每创建一个实例就会为实例变量分配一次内存。

 

对象共享值时方便访问变量时一般使用静态变量。

<5>.静态方法中不能用this和super关键字,不能直接访问所属类的实例变量和实例方法,只能访问所属类的静态成员变量和成员方法。

<6>.类属性存放于方法区内,属性在堆中。

<7>static应用:(单例模式:使一个类只能实例化一次

public class C{

private static C c = new C();

public static C getC(){

return c;

}

//private类型构造器

private C(){

}

}

public class TestC(){

C c = C.getC();

 

}

11.final详谈

<1>.final可以修饰变量,方法,类,修饰的变量不能被重新赋值(在声明时赋值),修饰的方法不能被覆盖,修饰的类不能被继承。

<2>.final修饰的属性若是在构造器中赋值,如果一个类中有多个构造器,则final修饰的变量在每个构造器中都要赋值,赋的值可以不同。

 

抱歉!评论已关闭.