一、自动装箱和拆箱:

在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 类加载器)

张孝祥Java高新技术汇总的更多相关文章

  1. 35_张孝祥Java高新技术_为注解增加各种属性

    注解的作用之所以那么强大,就是因为它有属性 注解很像接口,属性很像方法.   什么是注解的属性 一个注解相当于一个胸牌,如果你胸前贴了胸牌,就是传智播客的学生,否则,就不是.如果还想区分出事传智播客 ...

  2. 张孝祥java高新技术 --- jkd1.5 新特性 -- 精华总结

    1. 抽象方法的使用 如果一个方法中大量出现if语句, 那么, 就应该考虑使用抽象来处理. 如下例: package com.lxl; public class Weekend { //周日 publ ...

  3. 张孝祥java高新技术 --- jkd1.5 新特性

    1. 静态导入 import static java.lang.Math.max; 2. 可变参数 3. 自动装箱,拆箱 4. 枚举

  4. (转)JAVA排序汇总

    JAVA排序汇总 package com.softeem.jbs.lesson4; import java.util.Random; /** * 排序测试类 * * 排序算法的分类如下: * 1.插入 ...

  5. Java设计模式汇总

    Java设计模式汇总 设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接模式. ...

  6. Java高新技术 注解

      Java高新技术 注解 知识概要:                  (1)了解注解 (2)注解的应用结构图 (3)@Retention(RetentionPolicy.RUNTIME)    ...

  7. Java高新技术 JavaBean内省

     Java高新技术  JavaBean内省 知识概要:                 (1)了解JavaBean内省                 (2)JavaBean的简单内省操作     ...

  8. Java高新技术 反射机制

     Java高新技术 反射机制 知识概要:                   (1)反射的基石 (2)反射 (3)Constructor类 (4)Field类 (5)Method类 (6)用反射方 ...

  9. Java高新技术 JDK1.5之新特性

      Java高新技术  JDK1.5的新特性 知识概要:                 (1)静态导入 (2)可变参数 (3)增强for循环 (4)基本数据类型的自动拆箱和装箱 静态导入     ...

随机推荐

  1. 让Linux修改IP、DNS等可以更简单

    修改IP: 可以用 netconfig,可惜每次都得输入完整的IP.掩码.网关和DNS. 不如直接 vi /etc/sysconfig/network-scripts/ifcfg-eth0 再 /et ...

  2. 20160125--Spring

    package com.hanqi; import java.util.*; import com.hanqi.User; public class HelloWorld { public Hello ...

  3. 《转载》详解 CSS 属性 - 伪类和伪元素的区别

    首先,阅读 w3c 对两者的定义: CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪元素用于将特殊的效果添加到某些选择器. 可以明确两点,第一两者都与选择器相关,第二就是添加一些“特殊”的效果 ...

  4. enum枚举类型 的用法

    1.作为数组下标使用 enun  box{pencil, ruler}; void main() { string s[2]; s[pencil]="pencil"; s[rule ...

  5. 利用汇编查看C++函数调用

    这篇文章的内容是一个老生常谈的问题----> 函数是如何被调用的. 本文用汇编代码研究函数调用的过程,参数调用的方式,函数值的返回. 1. 函数是如何实现调用的 函数的调用是用call 和 re ...

  6. mysql 索引创建规则

    1.表的主键.外键必须有索引:2.数据量超过300的表应该有索引: 3.经常与其他表进行连接的表,在连接字段上应该建立索引: 4.经常出现在Where子句中的字段,特别是大表的字段,应该建立索引: 5 ...

  7. 关于用自带摄像机录像无法捕获uri 问题解决

    这个 我自己调用,好像并没有出现什么问题. 下面是我的代码.你们可以参照一下 File file = new File(Environment.getExternalStorageDirectory( ...

  8. Atom power-mode

    最近看到很多大牛都在用这个酷炫狂拽掉渣天的插件,于是就默默地git了一波.实际结果就是机械键盘加上砰砰砰砰,根本停不下来有没有. 建议(ˉ(∞)ˉ) :视力2.0的同学不建议使用,眼瞎的同学用就用吧, ...

  9. Docker基本概念填坑

    Docker的基本概念填坑 Docker的基本概念填坑 1. Docker的基本组成 Docker Client客户端 Docker Daemon守护进程 Docker Image镜像 Docker ...

  10. 微信网页授权java实现

    功能:主要用于在用户通过手机端微信访问第三方H5页面时获取用户的身份信息(openId,昵称,头像,所在地等..)可用来实现微信登录.微信账号绑定.用户身份鉴权等功能.     开发前的准备: 1.需 ...