JAVA:類的練習(xí)題

  1. 判斷以下值對比是否相等,并說出原因

    int a , b = 100;
    System.out.println( a == b )
    
    Integer c = 100;
    Integer d = 100;
    System.out.println(c == d )
        
    boolean isReboot1 = true;
    Boolean isReboot2 = new Boolean("1");
    System.out.println( isReboot1 ==  isReboot2 );
    
    boolean isReboot1 = true;
    Boolean isReboot2 = new Boolean(true);
    System.out.println( isReboot1 ==  isReboot2 );
    
    比值相等 int 定義整數(shù)
    比值相等 存儲整數(shù)
    比值不相等 布爾類型,值只能是true和false
    比值相等-
  1. 寫出 Object 的常用方法的作用

    方法名 說明
    getClass 返回此Object進(jìn)行時的類,不可重寫
    hashCode 返回對象的哈希碼
    equals 判斷其他對象與此對象是否相等
    clone 創(chuàng)建并返回此對象的一個副本
    toString 返回對象的字符串表示
    notify 喚醒在此對象監(jiān)視器上等待的單個線程
    notifyAll 喚醒在此對象監(jiān)視器上等待的所有線程
    finalize 垃圾回收時調(diào)用該方法
    wait 使當(dāng)前對象的線程等待timeout時長
  2. 寫出以下代碼的執(zhí)行順序

    public class Demo {
     //被static最先執(zhí)行,都被修飾的從上往下執(zhí)行
     static {
         count = 20;
     }
      //普通屬性或者代碼塊其次執(zhí)行,從上往下執(zhí)行
     {
         size = 20;
         count = 30;
     }
     
     public int size = 10;
     public static int count = 10;
     //3 最后執(zhí)行構(gòu)造方法
     public Demo() {
         System.out.println("我是構(gòu)造器");
         System.out.println( "size = "+ size );
         System.out.println( "count = "+ count );
     }
     
     public static void main(String[] args) {
         new Demo();
     }
    }
    
  1. 方法重載有什么作用 ?判斷重載的依據(jù)是什么 ?

    不用為了對不同的參數(shù)類型或參數(shù)個數(shù),而寫多個函數(shù),方便了程序員可以根據(jù)不同的參數(shù)個數(shù),順序,類型,自動匹配方法,減少寫過個函數(shù)名或方法名的重復(fù)步驟

    判斷重載的依據(jù)

    1.必須在同一個類里

    2.方法名相同

    3.參數(shù)列表不同

    4.與方法返回值和方法修飾符沒有任何關(guān)系

    5.在使用this調(diào)用自身的其他構(gòu)造方法時,只能作為第一條語句

  2. System.out.println()與System.out.print()區(qū)別

    System.out.println() 輸出后會換行,System.out.print() 輸出不換行
    
  3. 類里面都可以擁有什么元素?

    屬性、方法、構(gòu)造方法、塊以及內(nèi)部類

  4. 一個源文件里面可以寫多少個類 ? 哪個類可以使用 public 關(guān)鍵字修飾 ?

    有且只有一個類可以使用public關(guān)鍵字修飾

  5. 一個源文件里面寫多個類,編譯出來的 class 文件是怎么命名的 ?

    public class StaticTest {
     public static void main(String[] args) {
         Cat cat = null;
         for (int i = 0; i < 5; i++) {
             cat = new Cat();
             new Dog();
         }
         System.out.println(cat.counter);
         System.out.println(Dog.counter);
     }
    }
    
    class Cat {
        public int counter = 0;
        public Cat() {
            counter++;
        }
    }
    
    class Dog {
     public static int counter = 0;
     public Dog() {
         counter++;
     }
    }
    

    一個源文件里面寫多個類,編譯出來的 class 文件是 StaticTest

  6. 基礎(chǔ)類型和包裝類型的區(qū)別是什么?

    1.包裝類型可以為 null,而基本類型不可以
    
    2.包裝類型可用于泛型,而基本類型不可以
    
    3.基本類型比包裝類型更高效
    
    4.自動裝箱和自動拆箱
    
        把基本類型轉(zhuǎn)換成包裝類型的過程叫做裝箱
    
        反之,把包裝類型轉(zhuǎn)換成基本類型的過程叫做拆箱
    
  7. this關(guān)鍵字的作用是什么?

    表示當(dāng)前對象(誰調(diào)用當(dāng)前方法,this指代的就是誰)當(dāng)需要給類中的數(shù)據(jù)進(jìn)行初始化時,可以通過this來進(jìn)行賦值
    
  8. String是基礎(chǔ)類型么?

    不是......

  9. 內(nèi)部類有什么?有什么作用 ?

    1.內(nèi)部類方法可以訪問該類定義所在的作用域中的數(shù)據(jù),包括私有數(shù)據(jù)

    2.內(nèi)部類可以對同一個包中的其他類隱藏起來
    
    3.當(dāng)想要定義一個回調(diào)函數(shù)且不想編寫大量代碼時,使用匿名內(nèi)部類比較便捷
    
    4.某種意義上另類的多繼承
    
  10. 怎么創(chuàng)建并調(diào)用一個內(nèi)部類對象?

    public class Demo01 {
        String name;
        int age;
    
        public void fun(){
            System.out.println("普通成員");
        }
    
        class Inner{
            int sex;
            double high;
    
    
            public void fun01(){
                System.out.println("內(nèi)部類的普通方法");
            }
        }
    }
    
  11. 定義雇員類,包含雇員的編號、姓名、年齡、職位、部門等信息。

    編號:empid
    姓名:ename
    年齡:age
    職位:類:Position
    部門:類:Dept
    

    職位和部門是2個不同的類,每個類都包含各自的信息。

    職位:編號、職位名稱

    編號:pid
    職位:pname
    

    部門:編號、部門名稱、上級部門、部門所在地

    編號:dno
    部門名稱:dname
    上級部門:Dept
    部門所在地:loc
    
  1. 以下哪個約束符可用于定義成員常量 B

    A.static

    B.final

    C.a(chǎn)bstract

    D.const

  1. 看下面代碼給出答案 C

    class Test{
      private int m;
      public static void fun() {
        // some code...
      }
    }
    

    如何使成員變量m 被函數(shù)fun()直接訪問?

    A.將private int m 改為protected int m

    B.將private int m 改為 public int m

    C.將private int m 改為 static int m

    D.將private int m 改為 int m

  1. 以下代碼的執(zhí)行結(jié)果是C

    public class Example {
    
        static int i = 1, j = 2;
    
        static {
            display(i);
            i = i + j;
        }
    
        static void display(int n) {
            System.out.println(n);
        }
    
        public static void main(String[] args) {
    
            display(i);
        }
    }
    

    A.1 2

    B.0 1

    C.1 3

    D.1 1

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容