国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

javase基礎復習攻略《三》

2019-11-14 23:16:08
字體:
來源:轉載
供稿:網友
javase基礎復習攻略《三》

  編程語言的發展:

    機器語言——直接由計算機的指令組成,指令、地址、數據都是以"0"和"1"的符號串組成,可以被計算機直接執行。

    匯編語言——用容易理解和記憶的符號表示指令、數據和寄存器等,抽象層次很低,程序員需要考慮大量的機器細節。

    高級語言——屏蔽了機器細節,提高了語言的抽象層次,更加接近于自然語言,60年代出現的結構化編程設計語言提出了結構化數據和語句,數據和過程抽象等概念。

    面向對象的語言——與以往的各種語言不同,他的設計出發點就是為了更能直接的描述問題域中客觀存在的事物。

  對于JAVA大家都知道,它是一種面向對象的程序設計思想,那面向對象和面向過程有什么區別呢?舉一個例子,比如我要到湖南,面向過程的設計思路:首先我們制定好路線,我要啟動汽車,我要掛上檔,我要踩下油門,我要握住方向盤,我要按著路線前進。面向對象的設計思路:選擇一種交通工具,具體如何到呢?交給交通工具去處理。交通工具制定行駛路線,至此我們就可以上路了。說了這么多,大家一定還有點霧里看花的感覺,面向對象突出類的概念,類包含屬性和方法。本篇我們就一起回顧一下JAVA的面向對象設計。

 1、對象和類的概念:

  對象——用計算機語言對問題域中事物的描述,對象通過屬性和方法,來分別表示事物所具有靜態屬性和動態屬性。

  類——類是用來描述同一類型的對象的一種抽象的概念,類中定義了這一類對象所具有的靜態和動態屬性。

  類可以看做是對象的一種抽象,對象則是類的一個具體實例。

 2、類和對象的創建和使用:(代碼實例)

  類:Animail.java

//類的創建public class Animail {        //全局變量    PRivate int age;    private String name;        //添加方法    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }        //添加方法    public void Print(){        static int money = 3000;//成員變量,作用域為該方法域,必須先賦值,后使用        System.out.println("一般方法執行了");    }        /*     * 構造方法沒有返回值     * 當沒有添加構造方法時,系統默認為類添加一個無參構造方法     * 當添加一個有參構造方法后,系統將不再為該類添加無參構造方法     */    //無參構造方法    public Animail(){        System.out.println("無參構造方法執行了");    }    //有參構造方法    public Animail(int age){        System.out.println("有參構造方法執行了 age="+age);    }}

  對象:test.java

public class Test {    /**     * @param 類和對象     */    public static void main(String[] args) {        Animail animail = new Animail();//對象的創建,執行該類的無參構造方法        Animail animail2 = new Animail(1);//對象的創建,執行該類的有參構造方法        //方法的執行,通過對象名點方法名執行        animail.setAge(10);        animail.setName("小貓");        System.out.println("name="+animail.getName()+"   age="+animail.getAge());        animail.Print();    }}

 3、this、static、package、import、訪問控制

  this:當前的,當對類中全局變量進行修改時,當參數名與全局變量名一致時,使用this關鍵字,對當前對象的該屬性進行修改。

  static:全局的,用static聲明的成員變量為靜態成員變量,它為該類的公用變量,在第一次使用時進行初始化,對于該類的所有多象,static成員變量只有一份。

  package:包,JAVA為了防止用戶命名重復時,導致出錯,添加了包的概念,包名的命名一般為公司域名的倒敘。

  import:引用,當你需要使用另外一個包內的方法時,就需要使用import關鍵字,將該包引入進來。

  JAVA的訪問控制分為:private(私有的)、默認、protected(不公開的)、public(公開的)

  

 4、繼承:

  關鍵字:extends,繼承為何物?比如說,你爸是富豪,你得到了他擁有的資金,這就是繼承,JAVA提供的繼承為單繼承,也就是一個類只能有一個父類。

  代碼:父類:

public class Phone {    int money;        public Phone(){        System.out.println("父類的構造方法");    }        public void sendEMS(){        System.out.println("父類發短信方法");    }}

  子類:

public class cellPhone extends Phone {    String color;        public cellPhone(){        System.out.println("子類構造方法");    }    //子類可以重寫父類的方法    public void sendEMS(){        System.out.println("子類發短信方法");    }}

  測試代碼:

public class test {    public static void main(String [] args) {        //首先執行父類的構造方法,然后執行子類的構造方法        Phone phone = new cellPhone();//向上轉型        //執行子類重寫的方法        phone.sendEMS();            }}

 5、重寫:

  方法重寫即子類對象可以根據需要對父類方法進行重寫定義。

 6、重載:

  方法重載是指一個類中可以定義多個具有相同的名字,但參數不同的多個方法,調用時會根據參數的不同調用不同的方法。

  實例代碼:

  方法類:

public class Sum {        public void sum(int a, int b){        System.out.println("方法一:"+a+"+"+b+"="+(a+b));    }    public void sum(int a, double b){        System.out.println("方法二:"+a+"+"+b+"="+(a+b));    }    public void sum(double a, int b){        System.out.println("方法三:"+a+"+"+b+"="+(a+b));    }    public void sum(double a, double b){        System.out.println("方法四:"+a+"+"+b+"="+(a+b));    }}

  測試類:

public class test {    /**     * @param 方法重載     */    public static void main(String[] args) {        Sum sun = new Sum();        sun.sum(1, 1);        sun.sum(1, 1.1);        sun.sum(1.1, 1);        sun.sum(1.1, 1.1);    }}

6、final、object:

  final:靜態的,我們學習C語言時,通過#define count 60,來定義常量,JAVA同樣提供了常量的定義方法,就是final關鍵字,我們只需要在定義變量時添加一個final聲明,它就變成了一個常量,常量只能被賦值一次。

  object類是JAVA所有類的父類。

7、多態:

  定義:a、存在繼承;b、子類對象對父類方法有重寫;c、父類引用指向子類對象 

  對于父類引用指向子類對象,需要注意的是,對象轉型時,應使用instanceof關鍵字

  代碼實例:

public class Test {    /**     * @param 多態     */    public static void main(String[] args) {        Animail animal = new Dog();//向上轉型//        Dog dog = (Dog)animal;//向下轉型時,添加強制類型轉換//        Cat cat = (Cat)animal;//向下轉型時容易出現這種錯誤                //為了防止出現上述錯誤,我們使用instanceof關鍵字        if(animal instanceof Dog){            Dog dog = (Dog)animal;        }else{            System.out.println("animal不是狗");        }        if(animal instanceof Cat){            Cat cat = (Cat)animal;        }else{            System.out.println("animal不是貓");        }    }}

8、抽象類:

  被abstract關鍵字修飾的類,我們稱之為抽象類,被absteract修飾的方法為抽象方法。含有抽象方法的類,必須為抽象類,抽象類必須被繼承,抽象方法必須被重寫。抽象類不能被實例化,抽象方法只需聲明,不需要實現。

 9、接口:

  接口(interface)是抽象方法和常量值的定義的集合,從本質上講,接口是一種特殊的抽象類。

  代碼實例:

  接口:

public interface inter {    double PI = 3.14;     public void start();    public void run();    public void stop();}

  類:

public class test implements inter {    public void run() {            }    public void start() {            }    public void stop() {            }}

  對于JAVASE面向對象的知識就為大家總到此,由于文字描述的局限,如果有不懂的地方可以留言。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晋江市| 河北区| 礼泉县| 化隆| 天镇县| 波密县| 德江县| 东宁县| 临武县| 彭州市| 龙里县| 沐川县| 镇坪县| 石泉县| 张家港市| 武宁县| 印江| 来凤县| 桦甸市| 手机| 永安市| 芦山县| 灌南县| 黑龙江省| 乌拉特中旗| 淮南市| 郸城县| 田东县| 竹溪县| 盱眙县| 探索| 泌阳县| 临汾市| 永昌县| 康平县| 重庆市| 都兰县| 板桥市| 岫岩| 盐山县| 浑源县|