1 Math类的用途是什么 1 Math类中方法的特点 2 能创建Math类的对象吗 3 Math类中常用的方法有哪些,我来为大家科普一下关于object的好处?下面希望有你要的答案,我们一起来看看吧!

object的好处(Object到底是什么)

object的好处

十四 API-Math2.1 问题提问

1 Math类的用途是什么 1 Math类中方法的特点 2 能创建Math类的对象吗 3 Math类中常用的方法有哪些

2.3 问题答案

1 Math类的用途是什么 Math包含执行基本数字运算的方法,如基本指数,对数,平方根和三角函数。 2 Math类中方法的特点 所有的方法都是被static修饰的,可以通过类名.的方式直接调用 3 能创建Math类的对象吗 不能,查看原码发现构造方法私有了,强制使用静态 private Math() {} 4 Math类中常用的方法有哪些 //返回参数的绝对值 (重载) public static int abs(int a) public static long abs(long a) public static double abs(double a) public static float abs(float a) //向上取整(舍去小数部分然后整数 1) public static double ceil(double a) //向下取整(舍去小数部分,如果已经是整数那么结果就是该整数 .0) public static double floor(double a) //四舍五入(结果是long) public static long round(double a) //返回两个值中较大的一个 public static int max(int a,int b) public static long max(long a,long b) public static double max(double a,double b) public static float max(float a,float b) //返回两个值中较小的一个 public static int min(int a,int b) public static long min(long a,long b) public static float min(float a,float b) public static double min(double a,double b) //返回a的b次幂的值 public static double pow(double a,double b) //随机数 范围[0.0,1.0) public static double random()

2.4 练习 生成一个[1-10]的随机数

(int)Math.floor(Math.random() * 10 1) 分析: 1 Math.random() [0.0 1.0) 2 Math.random() * 10 [0.0,10.0) 3 Math.random() * 10 1 [1.0,11.0) 4 (int)Math.floor(Math.random() * 10 1) [1,11)

十五 API-System3.1 问题提问

1 System的作用是什么,能否被实例化 2 System类中的方法有什么特点 3 System类中的常用方法有哪些

3.3 问题答案

1 System的作用是什么,能否被实例化 是和系统相关的类 不能在其他类被实例化,构造方法被私有 private System() {} System 类包含一些有用的类字段和方法。 在System 类提供的设施中,有标准输入,标准输出和错误输出流; 对外部定义的属性和环境变量的访问; 加载文件和库的方法; 还有快速复制数组的一部分的实用方法。 2 System类中的方法有什么特点 都是被static修饰的方法 可以通过类名.方法名的形式直接调用 强制使用静态 3 System类中的常用方法有哪些 //终止当前正在运行的Java虚拟机,参数用作状态码;根据惯例非0的状态码表示异常终止。 public static void exit(int status) //返回以毫秒为单位的当前时间。注意,当返回值的时间单位是毫秒时 //当前时间与协调世界时 1970年1月1日午夜之间的时间差 //上述时间到当前系统时间过了多少毫秒 //可以统计代码的运行时间 public static long currentTimeMillis() //数组拷贝 //参数:数据源数组 起始索引 目的地数组 起始索引 拷贝个数 public static void arraycopy(Object src,int srcPos, Object dest, int destPos,int length)

十六 Object-toString4.1 问题提问

1 什么是Object类 有几个构造方法 2 为什么说子类的构造方法默认访问的是父类的无参构造方法 3 为什么打印对象变量名打印的是地址值

4.3 问题答案

1 什么是Object类 所有类都可以将Object作为父类, 所有类都直接或者间接继承Object类 构造方法只有一个 public Object() {} 2 为什么说子类的构造方法默认访问的是父类的无参构造方法 因为他们的顶级父类只有无参构造方法 3 为什么打印对象变量名打印的是地址值 因为类的直接或者间接父类是Object 所有类会继承Object的方法 打印语句会找toString()方法,就会找父类继承给它的toString()方法 父类继承给它的toString()方法 返回的内容就是地址值 //PrintStream public void println(Object x) { String s = String.valueOf(x); synchronized (this) { print(s); newLine(); } } //String public static String valueOf(Object obj) { return (obj == null) ? "null" : obj.toString(); } //Object public String toString() { return getClass().getName() "@" Integer.toHexString(hashCode()); } tips: 如果该类重写了toString()方法 当打印的时候就会找本类重写方法 通过idea 自动生成 可以打印该类对象的内容

十七 Object-equals5.1 问题提问

1 == 比较对象比较的是什么 2 对象调用equals方法,实际上是调用的谁的 有什么作用 3 如果同一个类的两个对象想比较内容怎么办

5.3 问题答案

1 == 比较对象比较的是什么 比较的是地址值是否相等 2 对象调用equals方法,实际上是调用的谁的 有什么作用 实际上调用的是父类Object继承给他的equals方法 //Object类中的equals方法实际也是 == 比较的地址值 public boolean equals(Object obj) { return (this == obj); } 3 如果同一个类的两个对象想比较内容怎么办 在类中重写equals方法 以Student类为例 @Override public boolean equals(Object o) { //1判断自反性 也就是判断当前对象和o是不是同一个对象 如果是直接返回真 if (this == o) return true; //2 判断o是不是null 3 判断是不是同一个类型的对象 if (o == null || getClass() != o.getClass()) return false; //4 如果都成立把 o转换成当前对象 然后逐个去比较属性是否相同 强转是了能访问Student中的属性 Student student = (Student) o; //对象类型用equals比较 简单类型用==比较 return age == student.age && name.equals(Student.name); }

,