object的好處(Object到底是什麼)
2023-08-03 04:58:08 1
object的好處?1 Math類的用途是什麼1 Math類中方法的特點2 能創建Math類的對象嗎3 Math類中常用的方法有哪些,我來為大家科普一下關於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方法 返回的內容就是地址值//PrintStreampublic void println(Object x) {String s = String.valueOf(x);synchronized (this) {print(s);newLine;}}//Stringpublic static String valueOf(Object obj) {return (obj == null) ? "null" : obj.toString;}//Objectpublic 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類為例@Overridepublic 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);}
,