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);

  • 相关阅读:
    Windows JScript 在 游览器 中运行 调试 Shell 文件系统
    autohotkey 符号链接 软连接 symbolink
    软链接 硬链接 测试
    SolidWorks 修改 基准面 标准坐标系
    手机 路径 WebDAV 映射 驱动器
    Win10上手机路径
    explorer 命令行
    单位公司 网络 封锁 屏蔽 深信 AC
    cobbler自动化部署原理篇
    Docker四种网络模式
  • 原文地址:https://www.cnblogs.com/czg-123/p/5397222.html
Copyright © 2011-2022 走看看