object的好处(Object到底是什么)
1 Math类的用途是什么
1 Math类中方法的特点
2 能创建Math类的对象吗
3 Math类中常用的方法有哪些
,我来为大家科普一下关于object的好处?下面希望有你要的答案,我们一起来看看吧!
object的好处
十四 API-Math2.1 问题提问
1 Math类的用途是什么
1 Math类中方法的特点
2 能创建Math类的对象吗
3 Math类中常用的方法有哪些
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()
(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)
1 System的作用是什么,能否被实例化
2 System类中的方法有什么特点
3 System类中的常用方法有哪些
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)
1 什么是Object类 有几个构造方法
2 为什么说子类的构造方法默认访问的是父类的无参构造方法
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 自动生成 可以打印该类对象的内容
1 == 比较对象比较的是什么
2 对象调用equals方法,实际上是调用的谁的 有什么作用
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);
}
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com