<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 1、封裝 ### 1.1 封裝的概念 * 將類的某些信息隱藏在類內部,不允許外部程序直接訪問 * 通過該類提供的方法來實現對隱藏信息的操作和訪問 * 隱藏對象的信息 * 留出訪問的接口 ### 1.2 封裝的特點 1. 只能通過規定的方法訪問數據 2. 隱藏類的實例細節,方便修改和實現 ### 1.3 封裝的代碼實現 1. 修改屬性的可見性:設為`private` 2. 創建`getter/setter`方法:設為`public`用于屬性的讀寫 3. 在`getter/setter`方法中加入屬性控制語句:對屬性的合法性進行判斷 ``` public class Person { // 1. 修改屬性的可見性:設為 private private String name; private int age; public Person() {} public Person(String name, int age) { this.setName(name); this.setAge(age); } // 2. 創建 getter/setter 方法:設為 public 用于屬性的讀寫 public String getName() { return this.name; } public void setName(String name) { this.name = name; } public int getAge() { return this.age; } // 3. 在 getter/setter 方法中加入屬性控制語句:對屬性的合法性進行判斷 public void setAge(int age) { if (age < 0 || age > 150) { System.out.println("年齡輸入有誤"); } else { this.age = age; } } } ``` 【選擇】當類中的一個成員方法被下面哪個修飾符修飾后,該方法只能在本類中被訪問()(選擇一項) ``` A public B private C final D default ``` 【選擇】運行以下 Java 代碼,說法正確的是() ``` public class Test { private int add(int a, int b) { return a + b; } private int add(int a, int b, int c) { return a + b + c; } public static void main(String[] args) { Test test = new Test(); System.out.println(test.add(1, 2) + test.add(3, 4, 5)); } } ``` ``` A 15 B 程序運行正常,但無輸出 C 編譯報錯 D 運行報錯 ``` 【選擇】Java 封裝的意義是()(選擇三項) ``` A 防止使用者錯誤修改系統的屬性 B 提高系統的獨立性 C 提高軟件的可重用性 D 提高構建大型系統的風險 ``` 【編程】編寫自定義類實現圖書信息設置。運行參考效果如下所示: ``` 圖書價格最低 10 元 書名:紅樓夢 作者:曹雪芹 出版社:人民文學出版社 價格:10.0 元 書名:小李飛刀 作者:古龍 出版社:中國長安出版社 價格:55.5 元 ``` ``` public class BookTest { public static void main(String[] args) { // 實例化對象,調用相關方法實現運行效果 } } public class Book { // 私有屬性:書名、作者、出版社、價格 // 通過構造方法實現屬性賦值 /** * 通過公有的get/set方法實現屬性的訪問,其中: * 1. 限定圖書價格必須大于10,如果無效需進行提示,并強制賦值為10 * 2. 限定作者、書名均為只讀屬性 */ // 信息介紹方法,描述圖書所有信息 } ``` ## 2、使用包進行類管理 在Java中通過包來進行代碼文件的管理,解決同名文件沖突問題。 * Java 中一個包里不能存在同名類 * 包的命名采用域名倒序+模塊+功能 * 推薦域名全部小寫 * package語句必須放在Java源文件中的第一行 * 建議每個包內存儲信息功能單一 ### 2.1 跨包進行類的調用 * 使用`*`通配符來加載包下的所有類 * 加載需要的的類(推薦使用) * 使用類全名進行跨包調用類 【選擇】下面代碼的運行結果是()(選擇一項) ``` package hello; public class Student { public Student() { System.out.println("hello"); } } package world; public class Student { public Student() { System.out.println("world"); } } package test; import hello.*; import world.Student; public class Test { public static void main(String[] args) { Student stu = new student(); } } ``` ``` A hello B world C hello world D 編譯報錯 ``` 【選擇】關于 package+包名; 的說法不正確的是()(選擇一項) ``` A 一個Java源文件可以有多個package語句 B 建議包名應該全部英文小寫 C 建議包名命名方式:域名倒序+模塊+功能 D "package+包名"; 必須放在Java源文件中的第一行 ``` 【選擇】下面關于import,class和package的聲明順序哪個是正確的()(選擇一項) ``` A package import class B class import package C import package class D package class import ``` 【編程】編寫自定義類實現用戶信息類。程序參考運行效果圖如下: ``` 用戶名:Tom 密碼:123456 用戶名:Jerry 密碼:123456 結果:用戶名或密碼不一致 ``` ``` public class Test { public static void main(String[] args) { // 實例化對象,調用相關方法實現運行效果 } } public class User { // 定義屬性用戶名、密碼 } public class UserManager { // 用戶信息驗證的方法 public String checkUser(User u1, User u2) { // 判斷用戶名和密碼是否為空,是否一致 } } ``` ## 3、static 關鍵字 * 類對象共享 * 類加載時產生,銷毀時釋放,生命周期長 【選擇】以下代碼運行結果為()(選擇一項) ``` public class Demo { char ch = 'c'; static char getChar() { return ch; } public static void main(String[] args) { System.out.println(new Demo().getChar()); } } ``` ``` A 編譯出錯 B 輸出:c C 編譯正常,運行時報錯 D 編譯正常,運行時無輸出結果 ``` 【選擇】下列關于static的說法不正確的是()(選擇一項) ``` A 可以定義靜態方法,但不能定義靜態變量 B class前不可以使用static作為修飾符 C static可以把普通的成員方法變成為一個靜態方法 D static可以把一個普通方法變成一個類方法 ``` 【選擇】關于靜態方法和非靜態方法,以下描述正確的是()(選擇一項) ``` A 非靜態方法只能訪問非靜態變量 B 靜態方法既可以直接訪問本類的靜態變量,也可以直接訪問本類的非靜態變量 C 靜態方法在類外只能通過類名來調用 D 非靜態方法在類外只能通過對象來調用 ``` 【選擇】下面這段代碼中,報錯的地方原因是()(選擇兩項) ``` public void run(String name){ System.out.println(name + "快跑"); } public static void eat() { run(); System.out.println("小貓吃魚"); } ``` ``` A 沒有傳入參數 B 沒有使用類方法類調用 C 不能使用靜態引用去訪問非靜態的方法 D 只要實例化對象就不會報錯了 ``` 【選擇】下面代碼的運行結果是()(選擇一項) ``` public class Student { public String name; public static int age; 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; } } public class Test { public static void main(String[] args) { Student stu = new Student(); stu.setName("小紅"); stu.setAge(13); Student stu1 = new Student(); stu.setName("小明"); stu.setAge(18); System.out.println(stu.getName() + "今年" + stu.getAge() + "歲了"); System.out.println(stu1.getName() + "今年" + stu1.getAge() + "歲了"); } } ``` ``` A 小紅今年13歲了 B 小明今年18歲了 C 小明今年18歲了 null今年18歲了 D 小紅今年13歲了 小明今年18歲了 ``` 【編程】請根據效果圖以及任務要求完成代碼。程序參考運行效果圖如下: ``` CodeBlock的靜態代碼塊 CodeBlock的主方法 產生Code類實例對象 Code的靜態代碼塊 Code的構造塊 Code的構造方法 產生CodeBlock類實例對象 CodeBlock的構造塊 CodeBlock的構造方法 ``` ``` public class CodeBlock { // 創建CodeBlock的構造塊 // 創建CodeBlock的靜態代碼塊 // 創建CodeBlock的構造方法 public static void main(String[] args) { // 編寫代碼測試運行優先順序,運行結果參見效果圖 } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看