黑马程序员--高新技术--静态导入,基本数据类型拆箱与装箱,享元设计模式

静态导入

import语句可以导入一个类或某个包中的所有类
import static语句导入一个类中的某个静态方法或所有静态方法或静态变量

 使用静态导入可以使被导入类的静态变量静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名

语法举例: import static java.lang.Math.sin;
import static java.lang.Math.*;

注意:过度地使用静态导入会在一定程度上降低代码的可读性
静态导入使用方法:

import static java.lang.Math.abs;  //静态导入 方法abs
public class StaticImport {
	public static void main(String[] args)
	{
		System.out.println(Math.max(123, 45));;
		System.out.println(abs(3-6));  //静态导入方法 调用时可以省略方法的类名
	}
}

示例2:

package tips;
  public interface Constants {
    public static final int PORT_NUMBER = 90;
    public static final String APP_NAME = "DOOLY";
    public static class StaticNestedClass {}//子类
  }
  
  //通过使用 import static,就可以不用指定 Constants 类名而直接使用静态成员,包括静态方法。 例如:
  
  import static tips.Constants.*;
  public class StaticImportTip {
          public static void main(String []args) {
                  System.out.println(PORT_NUMBER);
                       System.out.println(APP_NAME);
                       System.out.println(StaticNestedClass.class);
             }
     } 


 基本数据类型拆箱与装箱

 java语言定义了八种基本数据类型数据类型,其中共分为四类:
1、整数:包括int,short,byte,long
2、浮点型:float,double
3、字符:char
4、布尔:boolean

黑马程序员--高新技术--静态导入,基本数据类型拆箱与装箱,享元设计模式_第1张图片

注:基本数据类型没有可调用的方法,

拆箱与装箱

创建一个类的实例的时候,需要使用关键字new

在Java中给我们提供了基本数据类型的包装类,要创建一个基本数据类型的时候我们按照Java默认的语法,需要使用new关键字来创建一个对象

Integer num=new Integer(10);

在程序中我们直接对num1赋值

Integer num1=10; //装箱
System.out.println(num1); //拆箱

没有报错,在后面输出显示的结果也是10,也没有错误。

这就证明在Java中,Java虚拟机直接根据运行的实际环境给我们将数据类型进行了转换(这里的转换是指在类和基本数据类型之间的转换)

 

 

享元设计模式

运用共享技术有效地支持大量细粒度的对象。
  解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。

比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那么就大大节约了资源。

//享元模式
		Integer i1=13;
		Integer i2=13;  //共享,而不是新建一个Integer对象
		//如果基本数据类型的对象缓存  <=127,则共享一个对象,所以下列语句打印结果为true
		System.out.println(i1==i2);  
		
		Integer i3=Integer.valueOf(144);
		Integer i4=Integer.valueOf(144);
		System.out.println(i3==i4);   //基本数据类型的对象缓存  >127非共享,结果为false


 

 

你可能感兴趣的:(黑马程序员--高新技术--静态导入,基本数据类型拆箱与装箱,享元设计模式)