知识大全 java高级技术总结 1
Posted 反射
篇首语:宁可枝头抱香死,何曾吹落北风中。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java高级技术总结 1相关的知识,希望对你有一定的参考价值。
eclipse 大型开发的集成软件 应用最广 安装myeclipse之后 功能更强 主要有工作区 工程两个概念 工程 将很多有关联的java文件放到同一个工程中 这样这些java文件就可以同时执行 大大提高效率 同时 应该多主要eclipse的开发小技巧 可以大大节省时间 静态导入 import static java lang Math *;这样就可以直接调用Math中的静态方法 如max( ) 如果不导入就要写成Math max( ) 高级for循环 for(Object obj : array) 代码块 其中array为Object类型数组或者集合 这样就可以实现数组或集合的遍历 枚举(enum) 可以看成一个包含很多元素的类 如public enum WeekDay SUN MON TUE 对于其中元素可以直接引用WeekDay SUN 几个重点方法WeekDay valueOf( SUN )就是获得一个WeekDay元素实例SUN ***枚举类中构造方法必须private化 所以可用于单例设计模式 可变参数(jdk 新特性 重点) public static int plus (int x int … args) //加…表示不确定 int sum = ; for(i= ;i<args length;i++) //参数被放入数组中 sum+=args[i]; return sum; 这样就可以随便调用了 plus( ) plus( )……都可以 基本数据的知道装修及拆箱(jdk 新特性) 如 Integer i = ; 实际上 执行上面那句代码的时候 系统为我们执行了 Integer i = new Integer( ) 此即基本数据类型的自动装箱 享源模式 运用共享技术有效地支持大量细粒度的对象 概念 也就是说在一个系统中如果有多个相同的对象 那么只共享一份就可以了 不必每个都去实例化一个对象 比如说一个文本系统 每个字母定一个对象 那么大小写字母一共就是 个 那么就要定义 个对象 如果有一个 M的文本 那么字母是何其的多 如果每个字母都定义一个对象那么内存早就爆了 那么如果要是每个字母都共享一个对象 那么就大大节约了资源 在Flyweight模式中 由于要产生各种各样的对象 所以在Flyweight(享元)模式中常出现Factory模式 Flyweight的内部状态是用来共享的 Flyweight factory负责维护一个对象存储池(Flyweight Pool)来存放内部状态的对象 Flyweight模式是一个提高程序效率和性能的模式 会大大加快程序的运行速度 应用场合很多 反射 实质 把类中各成分映射成相应java类 如成员变量 成员方法 构造方法 main方法 用Class类来代指这类事物 主要与class的区别 class只是一个修饰语 Class就是具体的类 本质是字节码 获取Class字节码的方法 类名 class 如int class String class Integer class getClass() 如String str = asd ; str getClass() Class forName( 类名 ) Class的几个重要方法 isPrimitive()是否为基本数据类型 一 构造方法的反射 getConstructor(parameter( type class) ; getConstructors()(获得的是构造方法数组) 如 Constructor constructor = String class getConstructor(StringBuffer class) String str = (String)connstructor newInstance(new StringBuffer( ades )) 其中newInstance(parametertype)是最重要的方法 可以直接获得所属类的实例对象 二 成员变量的反射Field: class Point p int x= ;int y = ; Field fieldx = p getClass() getField( x ) System out println(fieldx get(p)) 即可得到p中x的值 三 成员方法的反射 必须导入java lang reflect *;包治好才能使用 String str = dafsf Method methodCharAt = String class getMethod( charAt int class) System out println(methodCharAt invoke(str )) 方法的反射是最能 体现反射的意思的 即以方法为中心 原来作用的类和参数都作为该方法的参数 四 main方法的反射 package baidu exam; import java lang reflect Method; class Point public static void main(String[]args)throws Exception String name = args[ ]; Method mainMethod = Class forName(name) getMethod( main String[] class) mainMethod invoke(null (Object)new String[] eAWDR rgsfe gs ) //此时强制转换特别重要 class Hello public static void main(String[]args) for(String str:args) System out println(str) 将main方法发射的实例 五 数组的反射 有一个关于数组反射的工具类Array 在java lang reflect包中 关键方法 Array get(Object [] obj int i)得到obj数组中第i个元素i的值 cha138/Article/program/Java/hx/201311/25752相关参考
Java线程安全总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近想将java基础的一些东
Java串口通信总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 最近在研究一个东西要用到串口
对Java多线程的一些总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 总结 何时使用多线程
Java的垃圾回收总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 内存是稀缺的资源哪怕内存一
Java的IO总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 知识点一:四大等级结构 ja
Java获取指定日期的实现方法总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下是对Java中
Java中的小知识点总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!最近在复习Java的基础遇到
Java中编码以及Unicode总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 基本概念
Java多线程操作相关问题总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
JAVAWEB开发中路径问题的总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 用Java开发