Java(2012/2/5)

一、enum(枚举)应用的场合:

        权限控制:    

package com.xyh5;

public enum AccessRight
{
    MANAGER, DEPARTMENT, EMPLOYEE;
}

 

package com.xyh5;

public class AccessControl
{
    public static boolean checkRight(AccessRight accessright)
    {
 if(accessright == AccessRight.MANAGER)
 {
     return true;
 }
 
 else if(accessright == AccessRight.DEPARTMENT)
 {
     return false;
 }
 
 return false;
    }
   
    public static void main(String[] args)
    {
 AccessRight accessright = AccessRight.valueOf("MANAGER");
 
 System.out.println(checkRight(accessright));
    }
}


二、静态导入(static import)

        要使用静态成员(方法和变量)我们必须给出提供这个静态成员的类。使用静态导入可以使被导入的类的所有静态变量和静态方法在当前类直接可见,使用这些方法和变量时候就无需给出他们的类名。

        import static 包.类.具体方法(或变量)

        import static 包.接口

 

三、Java反射机制

       1)Java中,无论生成某个类的多少个对象,这些对象都会对应于同一个Class对象。

       2)要想使用反射,首先要获得待处理类或对象所对应的Class对象。

       3)获取某个类或某个对象所对应的Class对象的常用3种方式:

             a)使用Class类的静态方法forName :  Class<?>  classType = Class.forName("java.lang.String");

             b)是用类的.class语法 : Class<?>  classType = String.class;

             c)使用对象的getClass()方法: String s = "aa";  Class<?>  classType = s.getClass;

       4)若想通过类的不带参数的构造方法来生成对象,有两种方式:

            a)先获得Class对象,然后通过该Class对象的newInstance()方法直接生成即可:

                   Class<?>  classType = String.class;

                   Object obj = classType.newInstance();

            b)先获得Class对象,然后通过该Class对象获得对应的Constructor对象,再通过该Constructor对象的newInstance()方法生成:

                   Class<?>  classType = Customer.class;       

                   Constructor cons = classType.getConstructor(new Class[]{});   

                   Object obj = cons.newInstance(new Object[]{});

         5)若想通过类的带参数的构造方法来生成对象,只有下面一种方法:

                   Class<?>  classType = Customer.class;       

                   Constructor cons = classType.getConstructor(new Class[]{String.class, int.class});   

                   Object obj = cons.newInstance(new Object[]{"zhangsan", 12});

            //Integer.TYPE返回的是int类型,Integer.class返回的是Integer类型

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值