1. 程式人生 > >Java_類與對象13_小練習

Java_類與對象13_小練習

訪問方式 向下轉型 imp 流程 面試題 空間 args etag 匿名

一、  

1:局部變量和成員變量的區別?

   A:在類中位置不同

   B:在內存中位置不同

   C:生命周期不同

   D:初始化值不同

  

2:形式參數分別為基本類型和引用類型的問題?

   形式參數:基本類型 形參的改變不影響實際參數

   形式參數:引用類型 形參的改變直接影響實際參數

  

   如果一個方法的形式參數是一個類的名稱,那麽這裏需要的是該類的對象。

3:匿名對象是什麽?應用場景是什麽?

   沒有名字的對象。

  

   應用場景:

      A:調用方法,僅僅調用一次的時候

      B:作為實際參數傳遞

4:封裝是什麽?java中封裝的體現有哪些?請舉例說明。

封裝:隱藏實現細節,提供公共的訪問方式。

封裝的體現:

      類,方法,private修飾成員變量

5:this關鍵字是什麽?this關鍵字的應用場景?

this:代表當前類的對象應用

應用場景:解決局部變量隱藏成員變量的問題

6:構造方法的作用是什麽?構造方法的特點是什麽?

構造方法的註意事項是什麽?構造方法中可不可以寫return語句呢?

作用:用於對對象的數據進行初始化

特點:

   A:方法名和類名相同

   B:沒有返回值類型,連void都不能有

   C:沒有返回值

  

註意事項:

   A:如果我們不給構造方法,系統就提供一個默認的無參構造方法

   B:如果我們給出了構造方法,系統就不再提供默認構造方法

      這個時候我們想用,就要自己提供。建議自己提供無參構造方法。

     

   class Student {

      private String name;

     

      public Student(){}

     

      //getXxx/setXxx

   }

  

構造方法可以有return語句,但是不能有明確的返回值。也就是說return;

7:給成員變量賦值有幾種方式?

   A:setXxx()

   B:帶參構造方法

8:標準的代碼編寫及測試:

   A:學生類的案例

   B:手機類的案例

   C:長方形類的案例

  

   class Student {

      private String name;

      private int age;

     

      public Student(){}

     

      public String getName() {

         return name;

      }

     

      public void setName(String name) {

         this.name = name;

      }

     

      public int getAge() {

         return age;

      }

     

      public void setAge(int age) {

         this.age = age;

      }

   }

  

   class StudentDemo {

      public static void main(String[] args) {

         Student s = new Student();

         s.setName("林青霞");

         s.setAge(27);

         System.out.println(s.getName()+"---"+s.getAge());

      }

   }

  

9:一個類的成員變量初始化過程

   Student s = new Student();

  

   A:把Student.class文件加載到內存(類加載器)

   B:在棧內存為s開辟空間

   C:在堆內存為學生對象申請空間

   D:給學生對象的成員變量進行默認初始化

   E:給學生對象的成員變量進行顯示初始化

   F:通過構造方法給學生對象的成員變量進行初始化

   G:把堆內存的地址賦值給s變量

  

10:static關鍵字是什麽?有什麽特點?什麽時候用呢?

   static靜態的意思,可以修飾成員變量和成員方法。

  

   特點:

      A:隨著類的加載而加載

      B:優先與對象存在

      C:被所有對象共享

      D:可以通過類名調用

     

   什麽時候用?

      A:當一個成員被所有對象共享的時候。

      B:工具類的時候。

     

11:靜態變量和成員變量的區別

   A:所屬不同

   B:內存位置不同

   C:生命周期不同

   D:調用不同

     

12:main方法各種修飾符及參數的解釋?

   public:權限修飾符,權限最大

   static:可以不用創建對象

   void:返回值給jvm無意義

   main:一個方法名,大家都默認的

   String[] args:接收鍵盤錄入對象

二、  

1:代碼塊是什麽?代碼塊的分類和各自特點?

2:靜態代碼塊,構造代碼塊,構造方法的執行流程?

3:繼承概述

4:繼承的好處

5:Java中繼承的特點

6:Java中繼承的註意事項?以及我們什麽時候使用繼承?

7:繼承中的成員訪問特點

   A:成員變量

      在子類方法中訪問一個變量

   B:成員方法

      在測試類中通過子類對象去訪問一個方法

8:繼承中構造方法的執行流程?假如父類沒有無參構造方法,子類應該怎麽辦?

9:面試題:

   方法重寫和方法重載的區別?方法重載能改變返回值類型嗎?

   Overload

   Override

   this關鍵字和super關鍵字分別代表什麽?以及他們各自的使用場景和作用。

10:繼承案例練習

11:猜數字小遊戲練習。

   通過API學習並使用Math類的random()方法。

三、  

1:final關鍵字可以幹什麽?有什麽特點?

   最終的意思。可以修飾類,方法,變量。

   它修飾類,類不能被繼承

   它修飾方法,方法不能被重寫

   它修飾變量,變量是常量

2:final關鍵字的面試題?

   A:修飾局部變量

      基本類型:值不能改變

      引用類型:地址值不能改變

     

   B:初始化時機

      定義的時候

      構造方法中

  

3:多態是什麽,前提是什麽?

   同一個對象在不同時刻表現出來的不同的狀態

  

   A:有繼承或者實現關系

   B:有方法的重寫

   C:有父類或者父接口引用指向子類對象

4:多態中成員訪問的特點?

   成員變量

      編譯看左邊,運行看左邊

   成員方法

      編譯看左邊,運行看右邊

   靜態方法

      編譯看左邊,運行看左邊

5:多態的好處及弊端?如何解決多態的弊端?

   好處:

      維護性和擴展性

     

   弊端:父類不能使用子類特有功能

  

   如何解決呢?

      A:創建子類對象。(在內存中會多了一個對象)

      B:向下轉型

6:什麽是向上轉型?什麽是向下轉型?

   子 - 父

   父 - 子

7:多態練習  

   自己做

  

8:抽象類概述及其特點?

   抽象類:繼承的時候,提取了多個方法,而有些方法不是每個子類都是一模一樣的實現,

   這個時候,就應該把這樣的方法不提供具體實現,而不提供具體實現的方法是一個抽象方法。

         在一個類中,如果有抽象方法,該類必須定義為抽象類。

        

   特點:

      A:抽象類或者抽象方法由abstract修飾

      B:抽象類中不一定有抽象方法,但是有抽象方法的類一定是抽象類

      C:抽象類不能實例化

      D:抽象類的子類

         a:是抽象類

         b:是具體類,就要重寫所有抽象方法

        

9:抽象類成員特點?

   A:成員變量

      有變量,有常量

   B:構造方法

      有。用於子類訪問父類數據的初始化

   C:成員方法

      有抽象方法,有非抽象方法

10:抽象類練習?

11:抽象類的小問題

   A:一個類如果沒有抽象方法,可不可以定義為抽象類?如果可以,有什麽意義?

   B:abstract不能和哪些關鍵字共存

      final

      static

      private

12:接口的概述及其特點?

   接口:某個繼承體系需要擴展功能的時候,就應該實現接口。

  

   特點:

      A:接口用interface修飾

      B:類實現接口用implements修飾

      C:接口不能實例化

      D:接口的實現

         a:抽象類

         b:具體類,重寫接口中的所有抽象方法

13:接口的成員特點?

   A:成員變量 靜態常量

   B:成員方法 抽象的

14:抽象類和接口的區別?

   A:成員區別

   B:關系區別

   C:設計理念區別

      "is a"

      "like a"

15:接口的練習?

16:案例

   貓狗案例,加入跳高的額外功能

   老師和學生案例,加入抽煙的額外功能

   教練和運動員案例(學生分析然後講解)

四、  

1:形式參數和返回值問題

   形式參數

      基本類型

      引用類型

   返回值類型

      基本類型  

      引用類型

2:包的定義及註意事項

   package

  

   第一條有效語句

   唯一

3:導包及註意事項

   import

  

   java.lang不需要導入

   java.xxx.yyy.類名; 導入到類的級別

  

   java.xxx.yyy.*; 這個也可以,但是不建議

4:四種權限修飾符及其特點

  技術分享圖片

5:常見的修飾符及組合

   類:public

   成員變量:private

   構造方法:public

   成員方法:public

6:內部類的概述及訪問特點

   把類定義在另一個類的內部,叫內部類。

  

   訪問特點:

      內部類可以直接訪問外部類的成員,包括私有

      外部類訪問內部類的成員需要創建對象

7:內部類的分類

   按照位置不同

  

   成員內部類

   局部內部類

8:匿名內部類的格式和應用及面試題

   new 類名或者接口名() {

      重寫方法;

   }

9:把面向對象部分的總結看一遍。準備後面使用。

有問題記錄下來問我

Java_類與對象13_小練習