java高新技术

java高新技术视频主要讲解了:eclipse的使用方法,增强for循环,枚举,javaBean反省,泛型,反射,注解等等的一些java特性。

Eclipse:是一个开发java的图形化软件,编译工具还是用的java的jdk工具包,只是提供图形的操作界面,让开发效率变高。eclipse的使用方法在此就不赘述了。

增强for循环:

public static void forLoop(){
		int a[] ={1,2,3,40};
		for(int i:a){
			System.out.println(i);
		}
	}

枚举

  J2SE 1.5 新增了一个enum 关键字用以定义枚举类。枚举类是一种特殊的类,它一样可以有自己的方法和属性,可以实现一个或 多个接口,也可以定义自己的构造器。一个java 枚举类 源文件中最多只能定义一个public访问权限的枚举类(就是只有一个枚 举类)且该java源文件也必须和该枚举类的类名相同。如:public enum Dogs { A,B,C,D;}。
//创建一个枚举类
public enum SeasonEnum
		{
				SPRING,SUMMER,FALL,WINTER;
}
//测试类
public class TestEnum
		{
			public void judge(SeasonEnum s)
			{
				//switch语句里的表达式可以是枚举值
				switch (s)
				{
					case SPRING:
						System.out.println("春暖花开,正好踏青");
						break;
					case SUMMER:
						System.out.println("夏日炎炎,适合游泳");
						break;
					case FALL:
						System.out.println("秋高气爽,进补及时");
						break;
					case WINTER:
						System.out.println("冬日雪飘,围炉赏雪");
						break;
				}
			}
			public static void main(String[] args)
			{
				//所有枚举类都有一个values方法,返回该枚举类的所有实例
				for (SeasonEnum s : SeasonEnum.values())
				{
					System.out.println(s);
					new TestEnum().judge(s);
				}
				new TestEnum().judge(SeasonEnum.SPRING);
			}
		}

内省:

JDK中提供的用于操作JavaBean的API称为内省。
JavaBean是java中的特殊的类,它主要用于传递数据信息,类中的方法主要用于访问私有的字段。
且方法命名符合特定的规则,以set、get开头。
注意:
JavaBean中的私有属性是有set、get方法得知
去掉set、get剩下的部分就是属性的名称
操作JavaBean的工具包:BeanUtils
它其中有setProperty 和getProperty方法,方法的参数的值为字符串
如BeanUtils.setProperty(对象,"x","6")
BeanUtils.getProperty(对象,"x")
而PropertyUtils类中也有这两个方法,但参数类型的值不是字符串
PropertyUtils.setProperty(对象,"x",4)
PropertyUtils.getProperty(对象,"x")
JDK7.0中的新特性:
Map map={name :"zxx",age:34}//可以这样定义Map集合
BeanUtils.setProperty(map,"name","lhm");
BeanUtils不仅可以操作JavaBean还可以操作Map,而且还能将JavaBean和Map相互转换

泛型

泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。 Java语言引入泛型的好处是安全简单。
规则和限制

  1、泛型的类型参数只能是类类型(包括自定义类),不能是简单类型。
  2、同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。
  3、泛型的类型参数可以有多个。
  4、泛型的参数类型可以使用extends语句,例如<T extends superclass>。习惯上称为“有界类型”。
  5、泛型的参数类型还可以是通配符类型。例如Class<?> classType = Class.forName("java.lang.String");
public class GenDemo {
	public static void main(String[] args) {
		// 定义泛型类Gen的一个Integer版本
		Gen<Integer> intOb = new Gen<Integer>(88);
		intOb.showType();
		int i = intOb.getOb();
		System.out.println("value= " + i);
		System.out.println("----------------------------------");
		// 定义泛型类Gen的一个String版本
		Gen<String> strOb = new Gen<String>("Hello Gen!");
		strOb.showType();
		String s = strOb.getOb();
		System.out.println("value= " + s);
	}
}

public class Gen<T>{
	//定义泛型成员变量
	private T t;
	public Gen(T t){
		this.t = t;
	}
	public T getOb(){
		return t;
	}
	public void setOb(T t){
		this.t = t;
	}
	public void showType(){
		System.out.println("T的实际类型是:"+t.getClass().getName());
	}
}

反射

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
public static Object getProperty(Object owner, String fieldName) throws Exception {
	    //得到该对象的Class。 
		Class ownerClass = owner.getClass();
	    //通过Class得到类声明的属性。
	    Field field = ownerClass.getField(fieldName);
	    //通过对象得到该属性的实例,如果这个属性是非公有的,这里会报IllegalAccessException。
	    Object property = field.get(owner);
	
	     return property;
	}

注解

Annotation(注解)是JDK5.0及以后版本引入的。它可以用于创建文档,跟踪代码中的依赖性,甚至执行基本编译时检查。注解是以‘@注解名’在代码中存在的,根据注解参数的个数,我们可以将注解分为:标记注解、单值注解、完整注解三类。它们都不会直接影响到程序的语义,只是作为注解(标识)存在,我们可以通过反射机制编程实现对这些元数据的访问。另外,你可以在编译时选择代码里的注解是否只存在于源代码级,或者它也能在class文件中出现。
了解一下java1.5起默认的三个annotation类型:
一个是@Override:只能用在方法之上的,用来告诉别人这一个方法是改写父类的。
一个是@Deprecated:建议别人不要使用旧的API的时候用的,编译的时候会用产生警告信息,可以设定在程序里的所有的元素上.
一个是@SuppressWarnings:这一个类型可以来暂时把一些警告信息消息关闭.
如果不清楚上面三个类型的具体用法,各位可以baidu或google一下的,很简单的。
 package lighter.javaeye.com;

   import java.lang.annotation.Documented;
   import java.lang.annotation.ElementType;
   import java.lang.annotation.Retention;
   import java.lang.annotation.RetentionPolicy;
   import java.lang.annotation.Target;

   @Target(ElementType.TYPE)
   @Retention(RetentionPolicy.RUNTIME)
   @Documented
   public @interface Description {
       String value();
   }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值