• 张孝祥Java高新技术汇总


    一、自动装箱和拆箱:

    在Java中有8种基本数据类型:byte,short,int,long,float,double,char,boolean。而基本数据类型不是对象,这时人们给他们定义了包装类,使其成为对象,具有对象的性质。Byte,Bhort,Integer,Long,Float,Double,Character,Boolean。

    装箱:把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。(通俗点理解:系统帮我们自动new基本类型对应的对象。)int包装成Integer、float包装成Float

    拆箱:和装箱相反,将包装类的对象简化成值类型的数据。

    Integer a = 100;                  这是自动装箱

    int b = new Integer(100); 这是自动拆箱

    注意:

    当 int 的取值在  -128 ~ 127 之间的时候,这时候系统并不会每次都帮我们去 new 一个 Integer 对象,而是取值相同的对象只会被 new 一次,
    取值相同的 Integer 对象系统不会再去 new 一次,而是共享了已有的这个 Integer 对象。
    而当 int 的取值在  -128 ~ 127 之外的时候,这时候不管 Integer 对象的取值是否一样,系统都会去 new 一个。

    二、可变参数的类型:

    有些方法里的参数个数不确定,这时怎么办呢?

    可以重载这个方法,重载时在里面传入不同的参数。

    但是有时参数个数不确定或者太多,这时我们应该使用可变参数类型。

     三、增强for循环:

    语法结构:

    for ( type 变量名:集合变量名 )  { … }

    四、枚举(enum):

    枚举其实是一个特殊的类,里面定义了一些常量(static final )。

    五、反射机制:

    首先什么是Class类。

    在java中,每次用一个类创建一个对象,与此类相关的Class对象就自动创建了,这个Class对象包含该类的相关信息,如成员变量,方法,等信息。
    此外,Class类还有很多方法,最常见的如JDBC里加载数据库驱动的方法:加载ODBC驱动Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    获得class对象有三种方式:

    方式一:对象.getClass()

    方式二:类.class

    方式三:使用Class类中静态方法,Class.forName(类)

    package wang.test;
    
    import java.util.Date;
    
    public class Test {
    
    	/**
    	 * @param args
    	 * 获得Class对象的三种方式
    	 * @throws ClassNotFoundException 
    	 */
    	public static void main(String[] args) throws ClassNotFoundException {
    	
    		Person p = new Person();
    		
    		//方式一:对象.getClass()
    		Class p_cla = p.getClass();
    		
    		//方式二:类.class
    		Class date_cla = Date.class;
    		
    		//方式三:使用Class类中静态方法,Class.forName(类)
    		Class str_cla = Class.forName("java.lang.String");
    		
    		System.out.println(p_cla);
    		System.out.println(date_cla);	
    		System.out.println(str_cla);
    		System.out.println("________________________________________________");
    		
    		System.out.println(p_cla.getClassLoader());//获得该类的类装载器
    		System.out.println(p_cla.isPrimitive());//判断该类是否是java的基本类型
    	}
    
    }

    运行结果:

    搞懂了什么是Class类,就容易理解Java反射机制了。因为Class类是反射机制的原理基础。

    简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字,
        那么就可以通过反射机制来获得类的所有信息。

    六、内省机制:

    七、泛型:

    这篇博客讲得很清楚:点击打开链接

    八、类加载器:

    这篇博客讲得很清楚:(因为老显示该链接为被禁用链接,所以请百度:年年去旅行Java 类加载器)

     

  • 相关阅读:
    NOI2014题解
    BZOJ 3514 (动态树)
    [HNOI 2013] 旅行 (数学)
    [HNOI 2013] 消毒 (搜索,二分图匹配)
    大学的第一个自己的程序
    回归了
    OI——不后悔的两年
    对于民科吧s5_or吧友自增树的复杂度计算
    好久没有冒过泡了。。。
    非常无聊——STD::sort VS 基数排序
  • 原文地址:https://www.cnblogs.com/wangerxiansheng/p/3836393.html
Copyright © 2020-2023  润新知