zoukankan      html  css  js  c++  java
  • 反射及数学运算符类


    1.API(接上篇): 数学运算符类(random 随机类)
    产生随机数,前包后不包
    Math类—基本数学运算方法:
    (1)abs() 返回绝对值
    (2)Math.max(a,b) 比较a,b值大小,输出较大的值
    (3)Math.min(a,b) 比较a,b值大小,输出较小的值
    (4)round() 四舍五入
    (5)floor 向下取整
    (6)ceil() 向上取整
    (7)random() 返回0到1之间的小数
    2.反射:(类的加载机制 Classloder)
    运行时探究和使用编译时未知的类
    反射就是操作Class类
    第一种方式:
    Dog d=new Dog();
    Class d2=d.getClass(); //具体实例获得Class
    第二种方式:
    Class d3=Dog.Class(); //知道类的名字,但是没有实例对象
    第三种方式:
    Class d4=Class.forName("包名.类名"); //运行期动态传入
    探究类的基本信息:1.Filed类:getDeclaredFiled //获取属性
    2.Method类:getDeclaredMethod //获取方法
    3.Constructor类:getDeclaredConstructor //获取构造函数
    Filed:Field[] fields= d4.getDeclaredFields();//获取所有的属性
    例如: //获取Dog类的属性1并且修改
    /*Class d3=Class.forName("RandonTest.Dog");
    Dog d=(Dog) d3.newInstance(); //用Instance的方法实例化一个对象
    //Dog d2=new Dog(); //直接用new的方法实例化对象
    Field[] fields= d3.getDeclaredFields();//获取所有的属性
    for(Field field:fields){
    if(field.getName().equals("age")){
    field.set(d, "100");
    }

    }*/

    ————————————————————————————

    package RandonTest;

    public class Dog {
    int age=20;
    String name="wangwanghao ";
    public void speaking(int s){
    System.out.println("hello"+" "+name);
    }

    public void saying(){
    System.out.println("hello,say"+age);
    }

    ————————————————————————————

    //获取Dog类的方法
    Class d2=Class.forName("RandonTest.Dog");
    Method[] methods=d2.getMethods();
    for(Method method:methods){
    //System.out.println(method);
    //System.out.println(method.getReturnType());
    //System.out.println(method.getParameterTypes());
    }
    Dog d1=(Dog) d2.newInstance();

    Method method=d2.getMethod("speaking", int.class);
    //method.invoke(d1, 6);

  • 相关阅读:
    java实现前n项和,要求不使用循环、乘除法、判断标识
    java 线程池 带返回值
    java 多线程 数据通信
    jedis使用分布式锁
    记一次自定义管理工厂使用spring自动装载bean
    面试题玩数组
    记一次随便排序算法
    九九乘法表打印记一次al面试
    多线程操作共享变量顺序输出abc 记一次al面试题
    博客迁移
  • 原文地址:https://www.cnblogs.com/czg-123/p/5397222.html
Copyright © 2011-2022 走看看