黑马学习日记9
来源:互联网 发布:淘宝警察钱包 编辑:程序博客网 时间:2024/05/24 06:00
黑马程序员-java高新技术
------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------
语法:impoort static包名.类名.*
注意:针对一个给定的包,不可能用一行语句静态地导入包中所有类的所有类方法和类变量。
如果一个本地方法和一个静态导入方法有着相同的名字,则本地方法被调用,如果静态导入两个中同名的类变量或类方法以,则必须通过对象或类名使用类变量、类方法。
加强for循环
基本数据的拆、装箱操作
在面向对象的语法中,处理的对象一般都是对象。但是基本数据类型却不是对象,既用int、double和boolean等定义的变量都不是对象,在以前的版本中,为了解决基本数据类型转换为对象的问题,出现了打包类型。为了方便基本数据类型与对对象间的转换,在最新的版本中出了基本数据的自动拆,装箱操作。
注意:当通过自动装箱方式返回同一数值的对象时如果该数值在-128~127之间,返回的对象会引用同一个对象。否则相反。
枚举
以前都是使用public static final修饰常量。为了让程序员能够抛弃这种常量,于是就出现了Enum语法。
Public enum WeekDay{
}
带有构造函数的枚举
publicenum WeekDay{
对于枚举构造函数,必须放在枚举常量的后面,同时构造函数的修饰符必须是private。枚举类型的自定义构造函数不能覆盖默认执行的构造函数,只会在其后运行。
反射-Class类
Class实例代表内存中的一份字节码,所谓字节码就是当Java虚拟机加载某个类的对象时,首先需要把硬盘上该类的二进制源码编译成Class文件的二进制代码(字节码),然后把文件的字节码加载到内存中,之后现创建该类的对象。
获取Class对象,既相应类的字节码。
获取类的方法:
类.getClass();
Class.forName(“类”);
类.Class
反射的基本应用
反射一般会涉及如下类:Class(表示一个类的类)、Field(表示属性的类)、Method(表示方法的类和Constrctor(表示类的构造方法的类)。
Class类位于java.lang包中,而后面3个类都位于java.lang.reflect包中。
构造方法的反射
//先通过String.class获取String类的字节码,然后再通过String.class.getConstructor()方法
//获取String类的构造函数。
Constructor cs=String.class.getConstructor(StringBuffer.class);
//在Constructor类中存在一个newInstance()方法,用来利用构造函数创建一个实例
//对象。该方法的参数类型必须与获取构造函数的参数类型相同。
String str=(String)cs.newInstance(new StringBuffer("gouzhao"));
//成员字段的反射
import java.lang.reflect.Field;
publicclass FieldRef {
}
class Student{
}
成员方法的反射
String str="abcdref";
//获取String类中参数为int的charAt()方法
Method methodChatAt=String.class.getMethod("charAt",int.class);
//对象str调用charAt()方法
System.out.println("str的第二个字母是:"+methodChatAt.invoke(str, 1));
System.out.println("str的第二个字母是:"+methodChatAt.invoke(str,new Object[]{1}));
泛型:
提供一个安全机制
好处:1、将运行时期出现的问题转移到了编译时期。
格式:通过<>的形式接收指定的类型。
泛型类。泛型定义在类上,在new对象的时候传入具体类型,该类型作用于整个类。
泛型的限定
通配符:?可以对类型进行限定范围。
------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima" target="blank">java培训</a>、期待与您交流! ----------
- 黑马学习日记9
- 黑马程序员-学习日记9
- 黑马程序员——学习日记9
- 黑马培训学习日记
- 黑马学习日记2
- 黑马学习日记3
- 黑马学习日记4
- 黑马学习日记6
- 黑马学习日记7
- 黑马学习日记8
- 黑马程序员--学习日记
- 黑马学习日记11
- 黑马程序员学习日记一
- 黑马程序员学习日记二
- 黑马程序员学习日记三
- 黑马程序员学习日记四
- 黑马程序员学习日记五
- 黑马程序员 反射学习日记
- 七种button/input常用链接方式
- 大规模整型无溢出无误差求均值
- !!!Chapter 5 Expression
- 黑马学习日记8
- HDFS and Erasure Codes (HDFS-RAID)
- 黑马学习日记9
- 黑马学习笔记10
- c++类中成员变量的初始化
- 一款带有发光动画的HTML5表单
- 【转】anroid中建立sdcard
- ITPUT 博客列表
- 2012网赛成都赛区
- git获取干净代码(不带版本控制文件)
- Java笔记 Java的输入流与输出流