乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      封裝和private關(guān)鍵字

       潘仕城 2018-09-11
      封裝和private關(guān)鍵字
      2016年10月11日 00:07:01 閱讀數(shù):1628
      /*

      private:

      是一個(gè)權(quán)限修飾符

      可以修飾成員變量和成員方法

      被其修飾的成員只能在本類中被訪問(wèn)

      */

      class Demo {

      //int num = 10;

      //用private修飾

      private int num = 10;

      public void show() {

      System.out.println(num);

      }

      private void method() {

      System.out.println("method");

      }

      public void function() {

      method();

      }

      }

       

      class PrivateDemo {

      public static void main(String[] args) {

      Demo d = new Demo();

      //不能方法私有的成員變量

      //System.out.println(d.num);

      d.show();

      //不能訪問(wèn)私有的成員方法

      //d.method();

      d.function();

      }

      }

       





      /*
      定義一個(gè)學(xué)生類:
      成員變量:name,age
      成員方法:show()方法

      我們?cè)谑褂眠@個(gè)案例的過(guò)程中,發(fā)現(xiàn)了一個(gè)問(wèn)題:
      通過(guò)對(duì)象去給成員變量賦值,可以賦值一些非法的數(shù)據(jù)。
      這是不合理的。
      應(yīng)該是這個(gè)樣子的:在賦值之前,先對(duì)數(shù)據(jù)進(jìn)行判斷。
      判斷到底在哪里做比較合適呢?
      StudentDemo類是一個(gè)測(cè)試類,測(cè)試類一般只創(chuàng)建對(duì)象,調(diào)用方法。 
      所以,這個(gè)判斷應(yīng)該定義在Student類中。
      而我們?cè)诔蓡T變量的位置可不可以進(jìn)行數(shù)據(jù)判斷呢?
      是不可以的,因?yàn)樽鰯?shù)據(jù)校驗(yàn),必須要依靠一些邏輯語(yǔ)句。
      邏輯語(yǔ)句是應(yīng)該定義在方法中的,所以,我們最終決定在Student類中提供一個(gè)方法
      來(lái)對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)。

      按照我們前面的分析,我們給出了一個(gè)方法進(jìn)行校驗(yàn)。
      但是呢,它偏偏不調(diào)用方法來(lái)賦值,還是直接賦值了,
      這樣我們的方法就沒(méi)有起到作用。
      我就應(yīng)該要求你必須使用我的方法,而不能直接調(diào)用成員變量賦值。
      怎么去強(qiáng)制要求不能直接使用成員變量呢?
      針對(duì)這種情況,Java就提供了一個(gè)關(guān)鍵字 private

      private:私有的。可以修飾成員變量和成員方法。
      注意:被private修飾的成員只能在本類中訪問(wèn)。

      其實(shí)我講到現(xiàn)在講解的是一個(gè)封裝的思想。
      封裝:是指隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問(wèn)方式。
      */
      class Student {
      //姓名
      String name;
      //年齡
      private int age;

      //寫一個(gè)方法對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)
      /*
      返回值類型:void
      參數(shù)列表:int a
      */
      public void setAge(int a) {
      if(a < 0 || age > 120) {
      System.out.println("你給的年齡有問(wèn)題");
      }else {
      age = a;
      }
      }


      //show()方法,顯示所有成員變量值
      public void show() {
      System.out.println("姓名:"+name);
      System.out.println("年齡:"+age);
      }
      }


      class StudentDemo {
      public static void main(String[] args) {
      //創(chuàng)建學(xué)生對(duì)象
      Student s = new Student();
      s.show();
      System.out.println("--------------");

      //給成員變量賦值
      s.name = "林青霞";
      //s.age = 27;
      s.setAge(27);
      s.show();
      System.out.println("--------------");

      //給age賦值
      //s.age = -27; //這個(gè)數(shù)據(jù)是不合理的
      //通過(guò)方法給值
      s.setAge(-27);
      s.show();
      System.out.println("--------------");
      }
      }



      /*

      封裝和private的應(yīng)用:

      A:把成員變量用private修飾

      B:提高對(duì)應(yīng)的getXxx()和setXxx()方法

      */

      //定義學(xué)生類

      class Student {

      //姓名

      private String name;

      //年齡

      private int age;

      //姓名獲取值

      public String getName() {

      return name;

      }

      //姓名設(shè)置值

      public void setName(String n) {

      name = n;

      }

      //年齡獲取值

      public int getAge() {

      return age;

      }

      //年齡賦值

      public void setAge(int a) {

      age = a;

      }

      }

       

      //測(cè)試類

      class StudentTest {

      public static void main(String[] args) {

      //創(chuàng)建學(xué)生對(duì)象

      Student s = new Student();

      //使用成員變量

      //錯(cuò)誤:被私有修飾了,外界不能直接訪問(wèn)了

      //System.out.println(s.name+"---"+s.age);

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

      //給成員變量賦值

      //s.name = "林青霞";

      //s.age = 27;

      //通過(guò)方法給賦值

      s.setName("林青霞");

      s.setAge(27);

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

      }

      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多