欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      面向?qū)ο缶幊痰目偨Y(jié)[五篇范文]

      時(shí)間:2019-05-14 21:35:26下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《面向?qū)ο缶幊痰目偨Y(jié)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《面向?qū)ο缶幊痰目偨Y(jié)》。

      第一篇:面向?qū)ο缶幊痰目偨Y(jié)

      面向?qū)ο缶幊痰目偨Y(jié)(理解與看法)面向?qū)ο蟪绦蛟O(shè)計(jì)(Object Oriented Programming,OOP,面向?qū)ο蟪绦蛟O(shè)計(jì))是一種計(jì)算機(jī)編程架構(gòu)。OOP 的一條基本原則是計(jì)算機(jī)程序是由單個(gè)能夠起到子程序作用的單元或?qū)ο蠼M合而成。

      OOP 達(dá)到了軟件工程的三個(gè)主要目標(biāo):重用性、靈活性和擴(kuò)展性。為了實(shí)現(xiàn)整體運(yùn)算,每個(gè)對(duì)象都能夠接收信息、處理數(shù)據(jù)和向其它對(duì)象發(fā)送信息。

      面向?qū)ο笥腥筇匦?,分別是:封裝、繼承、多態(tài)。封裝是隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外公開(kāi)接口,控制在程序中屬性的讀和修改的訪問(wèn)級(jí)別;將抽象得到的數(shù)據(jù)和行為(或功能)相結(jié)合,形成一個(gè)有機(jī)的整體,也就是將數(shù)據(jù)與操作數(shù)據(jù)的源代碼進(jìn)行有機(jī)的結(jié)合,形成“類(lèi)”,其中數(shù)據(jù)和函數(shù)都是類(lèi)的成員。目的是增強(qiáng)安全性和簡(jiǎn)化編程,使用者不必了解具體的實(shí)現(xiàn)細(xì)節(jié),而只是要通過(guò)外部接口,以特定的訪問(wèn)權(quán)限來(lái)使用類(lèi)的成員。任何類(lèi)都可以從另外一個(gè)類(lèi)繼承,即這個(gè)類(lèi)擁有它所繼承類(lèi)的所有成員。被繼承的類(lèi)稱(chēng)為父類(lèi)或基類(lèi)。C# 只支持單繼承,不支持多重繼承,即在C# 中一次只允許繼承一個(gè)類(lèi),不能同時(shí)繼承多個(gè)類(lèi)。在C# 中,接口允許多繼承,可以通過(guò)繼承多個(gè)接口來(lái)實(shí)現(xiàn)類(lèi)似于C++中的多重繼承。

      多態(tài)是同一個(gè)類(lèi)在不同場(chǎng)合下表現(xiàn)出不同的行為特征。

      使用抽象方法與虛方法都可以實(shí)現(xiàn)多態(tài)性。抽象方法是一個(gè)未實(shí)現(xiàn)的方法,使用abstract關(guān)鍵字修飾,含有抽象方法的類(lèi)必然是抽象類(lèi)。抽象方法要在其子方法中通過(guò)override關(guān)鍵字重寫(xiě)。

      簡(jiǎn)單工廠模式用于在調(diào)用者不知道對(duì)象屬于哪個(gè)自雷的情況下,創(chuàng)建不同的對(duì)象。

      第二篇:Java面向?qū)ο缶幊塘?xí)題總結(jié)

      第一章

      面向?qū)ο箝_(kāi)發(fā)方法概述

      1.面向?qū)ο蟮能浖_(kāi)發(fā)有哪些優(yōu)點(diǎn)?

      1)

      把軟件系統(tǒng)看成是各種對(duì)象的集合,這更接近人類(lèi)的自然思維方式。

      2)

      軟件需求的變動(dòng)性往往是功能的變動(dòng),而功能的執(zhí)行者——對(duì)象,一般不會(huì)有多大的變化,比結(jié)構(gòu)化更穩(wěn)定。

      3)

      對(duì)象包括屬性和行為,對(duì)象把數(shù)據(jù)及方法的具體實(shí)現(xiàn)方式一起封裝起來(lái),使得方法與之相關(guān)的數(shù)據(jù)不再分析,提高了每個(gè)子系統(tǒng)的相對(duì)對(duì)立性,從而提高軟件的可維護(hù)性。

      4)

      支持封裝,抽象,繼承和多態(tài)。提高了軟件的可重用性,可維護(hù)性和可擴(kuò)展性。

      2.在軟件系統(tǒng)中,為什么說(shuō)一個(gè)孤立的不對(duì)外提供任何服務(wù)的對(duì)象是沒(méi)有意義的?

      1)

      每個(gè)對(duì)象都具有特定的功能,相對(duì)于其他對(duì)象而言,它的功能就是為其他對(duì)象提供的服務(wù)。

      2)

      從使用者角度出發(fā),整個(gè)軟件系統(tǒng)就是一個(gè)服務(wù)的提供者。

      3)

      在系統(tǒng)內(nèi)部,每個(gè)子系統(tǒng)也都是服務(wù)的提供者,它們其他子系統(tǒng)提供服務(wù)。

      4)

      因此說(shuō)一個(gè)孤立的部隊(duì)為提供任何服務(wù)的系統(tǒng)是美歐任何意義的。

      3.列舉一些現(xiàn)實(shí)生活中的例子,來(lái)說(shuō)明什么是依賴(lài)關(guān)系、什么是聚集關(guān)系,以及什么是關(guān)聯(lián)關(guān)系。

      1)

      關(guān)聯(lián)關(guān)系:關(guān)聯(lián)是指類(lèi)之間的特定對(duì)應(yīng)關(guān)系,可以分為單向關(guān)聯(lián)和雙向關(guān)聯(lián),也可以分為一對(duì)一關(guān)聯(lián)、一對(duì)多關(guān)聯(lián)以及多對(duì)多關(guān)聯(lián)。A關(guān)聯(lián)B,是指Class A與Class B之間存在特定的對(duì)應(yīng)關(guān)系。舉例如學(xué)生和老師,訂單和客戶(hù)。

      2)

      依賴(lài)關(guān)系:類(lèi)之間的調(diào)用關(guān)系。A依賴(lài)B,Class A訪問(wèn)Class B提供的服務(wù)。如Panel與Shape的關(guān)系。

      3)

      聚集關(guān)系:是整體與部分之間的關(guān)系

      4.列舉一些顯示生活中的例子,來(lái)說(shuō)明什么是封裝,什么是接口。

      1)

      接口:對(duì)象中所有向使用者公開(kāi)的方法的聲明構(gòu)成了對(duì)象的接口。

      2)

      封裝:隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅僅對(duì)外公開(kāi)接口。

      3)

      接口的優(yōu)點(diǎn):a.提高系統(tǒng)之間松散耦合b.提高了系統(tǒng)的可擴(kuò)展性。

      4)

      封裝的有點(diǎn):

      a.便于使用者正確、方便地理解和使用系統(tǒng),防止使用者錯(cuò)誤修改系統(tǒng)的屬性。

      b.有助于建立各個(gè)系統(tǒng)之間的松耦合關(guān)系,提高系統(tǒng)的獨(dú)立性。

      c.提高軟件的可重用性,沒(méi)個(gè)系統(tǒng)都是一個(gè)相對(duì)獨(dú)立的整體,可以在多種環(huán)境中得到重用。

      d.降低構(gòu)建大型系統(tǒng)的風(fēng)險(xiǎn),即使整個(gè)系統(tǒng)不成功,個(gè)別的獨(dú)立子系統(tǒng)有可能依然有價(jià)值。

      5.抽象的最主要特征是什么?

      抽象是指從特定角度出發(fā),從已經(jīng)存在的一些事物中抽取我們所關(guān)注的特性,形成一個(gè)新的事物的思維過(guò)程。

      6.在建立對(duì)象模型時(shí),要經(jīng)歷哪些抽象思維過(guò)程?

      1)

      從問(wèn)題領(lǐng)域的事物到軟件模型中對(duì)象的抽象。

      2)

      從對(duì)象到類(lèi)的抽象。

      3)

      從子類(lèi)到父類(lèi)的抽象

      7.類(lèi)就是程序員自定義的類(lèi)型。這種說(shuō)法是否正確?

      不正確,類(lèi)是一組具有相同屬性和行為的對(duì)象的抽象。類(lèi)及類(lèi)的關(guān)系構(gòu)成了對(duì)象模型的主要內(nèi)容。開(kāi)發(fā)人員需要根據(jù)先識(shí)別對(duì)象,然后再進(jìn)行分類(lèi)(創(chuàng)建任意的數(shù)據(jù)模型)的思路來(lái)建立對(duì)象模型。

      8.小王本來(lái)體重70kg,經(jīng)過(guò)減肥,體重降到45kg,試從這個(gè)問(wèn)題領(lǐng)域中識(shí)別對(duì)象、類(lèi)、屬性、狀態(tài)和狀態(tài)的變化。

      1)

      類(lèi):人。

      2)

      對(duì)象:小王。

      3)

      屬性:體重。

      4)

      狀態(tài):70kg。

      5)

      狀態(tài)的變化:小王的減肥行為導(dǎo)致體重下降。

      9.在UML圖中哪些框圖描述了系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu),哪些框圖描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)?

      1)

      用例圖、類(lèi)框圖、組件圖、部署圖構(gòu)成了系統(tǒng)的靜態(tài)模型。

      2)

      狀態(tài)轉(zhuǎn)換圖、時(shí)序圖、協(xié)作圖則構(gòu)成了系統(tǒng)的動(dòng)態(tài)模型。

      第二章

      第一個(gè)Java應(yīng)用

      1.把一個(gè)類(lèi)放在包里有什么用?

      答:把類(lèi)分包的作用:

      (1)

      能夠區(qū)分名字相同的類(lèi)

      (2)

      有助于實(shí)施訪問(wèn)權(quán)限控制

      (3)

      有助于劃分和組織Java應(yīng)用中的各個(gè)類(lèi)

      2.JavaDoc文檔是不是為軟件的終端用戶(hù)提供的使用指南?

      答:不是的,JavaDoc文檔是供Java開(kāi)發(fā)人員閱讀的,他們通過(guò)JavaDoc文檔來(lái)了解其他開(kāi)發(fā)人員開(kāi)發(fā)的類(lèi)的用法。Java開(kāi)發(fā)人員應(yīng)該養(yǎng)成經(jīng)常閱讀JavaDoc文檔的良好習(xí)慣。

      3.對(duì)于com.abc.dollapp.AppMain類(lèi),使用以下命令進(jìn)行編譯,編譯出來(lái)的.class文件位于什么目錄下?

      java –d C:classes –sourcepath C:src C:srccomabcdollappAppMain.java

      答:將會(huì)存放在C:classescomabcdollapp下。

      4.對(duì)于以上編譯出來(lái)的AppMain類(lèi),以下哪個(gè)java命令能正確運(yùn)行它?

      (a)

      java C:classescomabcdollappAppMain.class

      (b)

      java –classpath C:classes AppMain

      (c)

      java –classpath C:classescomabcdollapp AppMain

      (d)

      java –classpath C:classes com.abc.dollapp.AppMain

      答:(b)

      5.以下哪些main()方法的聲明能夠作為程序的入口方法?

      (a)

      public static void main()

      (b)

      public static void main(String[] string)

      (c)

      public static void main(String args)

      (d)

      static public int main(String[] args)

      (e)

      static void main(String[] args)

      答:(b),主函數(shù)必須以public static void形式存在,參數(shù)必須為String數(shù)組形式。

      6.假定以下程序代碼都分別放在MyClass.java文件中,哪些程序代碼能夠編譯通過(guò)?

      (a)

      import java.awt.*;package Mypackage;

      class MyClass{};

      (b)

      package MyPackage;

      import java.awt.*;

      class MyClass{};

      (c)

      /*This is comment*/

      package MyPackage;

      import java.awt.*;

      public class MyClass{};

      答:(c),程序順序必須按照import, package, class走,源文件必須以public類(lèi)型的類(lèi)命名。

      7.對(duì)于以下Myprog類(lèi),運(yùn)行命令”java Myprog good morning”,將會(huì)得到打印結(jié)果?

      public class Myprog {

      public static void main(String argv[])

      {

      System.out.println(argv[2]);

      } }

      答:打印結(jié)果為空。argv[0] = “good”, argv[1] = “morning”。

      8.下面哪些是Java的關(guān)鍵字?

      (a)

      default

      (b)

      NULL

      (c)

      String

      (d)

      throws

      (e)

      long

      (f)

      true

      答:(a),(d),(e),(f),java中所有的關(guān)鍵字都是小寫(xiě)。

      9.當(dāng)AppMain類(lèi)的main()方法創(chuàng)建了5個(gè)Doll對(duì)象時(shí),運(yùn)行時(shí)數(shù)據(jù)區(qū)的數(shù)據(jù)如何分布的?參考2.4節(jié)的圖2-13,畫(huà)出此時(shí)運(yùn)行時(shí)數(shù)據(jù)區(qū)的狀態(tài)圖。

      運(yùn)行時(shí)數(shù)據(jù)區(qū)(內(nèi)存)

      Java棧區(qū)

      執(zhí)行main()方法的主線程的方法調(diào)用棧

      局部變量beibei

      局部變量jingjing

      局部變量huanhuan

      局部變量yingying

      局部變量nini

      堆區(qū)

      Doll實(shí)例

      name:貝貝

      Doll實(shí)例

      name:晶晶

      Doll實(shí)例

      name:歡歡

      Doll實(shí)例

      name:迎迎

      Doll實(shí)例

      name:妮妮

      方法區(qū)

      Doll類(lèi)型信息

      AppMain類(lèi)型信息

      (包含main()方法信息)

      10.下面哪些是合法的Java標(biāo)識(shí)符?

      (a)

      #_pound

      (b)

      _underscore

      (c)

      5Interstate

      (d)

      Interstate5

      (e)

      _5_

      (f)

      class

      答:(b),(d),(e)標(biāo)識(shí)符命名規(guī)則如下:

      (1)

      標(biāo)識(shí)符首字母必須為字母、下劃線“_”、美元“$”、人民幣“¥”(2)

      標(biāo)識(shí)符由數(shù)字、大寫(xiě)字母、小寫(xiě)字母、下劃線以及美元等組成

      (3)

      不能把關(guān)鍵字和保留字作為標(biāo)識(shí)符

      (4)

      標(biāo)識(shí)符沒(méi)有長(zhǎng)度的限制

      (5)

      標(biāo)識(shí)符是大小寫(xiě)敏感的第三章

      數(shù)據(jù)類(lèi)型和變量

      1.對(duì)于以下程序,運(yùn)行“java Abs”,將得到什么打印結(jié)果?

      public class Abs

      {

      static int a = 0x11;

      //十六進(jìn)制

      static int b = 0011;

      //八進(jìn)制

      static int c = 'u0011';

      //十六進(jìn)制數(shù)據(jù)的Unicode字符編碼

      static int d = 011;

      //八進(jìn)制

      /**

      * @param args

      */

      public static void main(String[] args)

      {

      System.out.println(“a=”+a);

      System.out.println(“b=”+b);

      System.out.println(“c=”+c);

      System.out.println(“d=”+d);

      } }

      答:輸出如下

      a=17 b=9 c=17 d=9

      2.以下哪段代碼能正確編譯通過(guò)?

      (a)

      char a = ?a?;

      char b = 1;

      char c = 08;

      (b)

      int a = ?a?;

      (c)

      long a =?u00FF?;

      (d)

      char a = ?u0FF?;

      (e)

      char d = “d”;

      答:(b)、(c)能通過(guò)編譯。(a)中“char c=08”將int賦值給char需要部分強(qiáng)制轉(zhuǎn)換,“char c=8”就正確;(d)中unicode編碼錯(cuò)誤,java采用的是UCS-2編碼,共16位;(e)字符賦值是使用單引號(hào),字符串String賦值時(shí)才使用雙引號(hào)。

      3.下面哪些代碼能編譯通過(guò)?

      (a)

      short myshort=99S;

      (b)

      String name = ?Excellent tutorial Mr Green?;(c)

      char c = 17c;

      (d)

      int z = 015;

      答:(d)可以編譯通過(guò)。(a)中char賦值給short需要強(qiáng)制轉(zhuǎn)換;(b)中String類(lèi)型賦值用雙引號(hào);(c)中int賦值給char需要部分強(qiáng)制轉(zhuǎn)換。

      4.字符“A”的Unicode字符編碼為65.下面哪些代碼正確定義了一個(gè)代表字符“A”的變量?

      (a)

      Char ch=65;

      (b)

      Char ch=?65?;

      (c)

      Char ch =?u0041?;

      (d)

      Char ch=?A?;

      (e)

      Char ch =”A”

      答:(c)、(d)可以得到”A”。(b)的輸出為5,其他無(wú)法編譯通過(guò)。

      5.以下代碼共創(chuàng)建了幾個(gè)對(duì)象?

      String s1=new String(“hello”);

      String s2=new String(“hello”);

      String s3=s1;

      String s4=s2;

      答:共創(chuàng)建了2個(gè)對(duì)象。棧區(qū)4個(gè)局部變量分別引用了堆區(qū)的2個(gè)實(shí)例,而2個(gè)實(shí)例又引用了工作區(qū)的同一個(gè)類(lèi)。

      6.以下代碼能否編譯通過(guò)?假如能編譯通過(guò),運(yùn)行時(shí)將得到什么打印結(jié)果?

      class Test {

      static int myArg = 1;

      public static void main(String[] args)

      {

      Int myArg;

      System.out.println(myArg);

      } }

      答:無(wú)法編譯通過(guò),因?yàn)榫植孔兞縨yArg聲明之后Java虛擬機(jī)就不會(huì)自動(dòng)給它初始化為默認(rèn)值,若在使用前未被初始化,編譯會(huì)報(bào)錯(cuò)。

      7.對(duì)于以下程序,運(yùn)行“java Mystery Mighty Mouse”,將得到什么打印結(jié)果?

      public class Mystery

      {

      public static void main(String[] args)

      {

      Changer c = new Changer();

      c.method(args);

      System.out.println(args[0]+“ ”+args[1]);

      }

      static class Changer

      {

      void method(String[] s)

      {

      String temp = s[0];

      s[0] = s[1];

      s[1] = temp;

      }

      } }

      答:打印結(jié)果為“Mighty Mystery”

      8.對(duì)于以下程序,運(yùn)行“java Pass”,將得到什么打印結(jié)果?

      public class Pass

      {

      static int j = 20;

      public static void main(String[] args)

      {

      int i=10;

      Pass p = new Pass();

      p.amethod(i);

      System.out.println(“i=”+i);

      System.out.println(“j=”+j);

      }

      public void amethod(int x)

      {

      x*=2;

      j*=2;

      } }

      答:打印結(jié)果是

      i=10 j=40

      其中“int x”是傳參,作用域僅在amethod之中。

      第四章 操作符

      1.以下哪些程序代碼能夠編譯通過(guò)?

      (a)

      int i=0;if(i){

      System.out.println(“hello”);}

      (b)

      boolean b1=true;

      boolean b2=true;

      if(b1==b2){

      System.out.println(“So true”);}

      (c)

      int i=1;

      int j=2;

      if(i==1||j==i){

      System.out.println(“ok”);}

      (d)

      int i=1;

      int j=2;

      if(i==1&|j==i){

      System.out.println(“ok”);}

      答:(b)、(c)能編譯通過(guò)。(a)中int不能作為boolean出現(xiàn),(d)中不能出現(xiàn)&|該操作符。

      2.運(yùn)行以下程序,將得到什么打印結(jié)果?

      System.out.println(-1>>>1);

      System.out.println(-1>>1);

      System.out.println(2>>1);

      System.out.println(1<<<1);

      答:>>>是邏輯右移位操作符,也稱(chēng)不帶符號(hào)右移位操作符,在移位的過(guò)程中二進(jìn)制數(shù)開(kāi)頭填0;>>是右移位操作符,也稱(chēng)帶符號(hào)右移位操作符,舍棄末尾,在開(kāi)頭填符號(hào)位;<<<操作符不存在;

      11111111 11111111 11111111 11111111

      -1>>>1

      01111111 11111111 11111111 11111111

      11111111 11111111 11111111 11111111

      -1>>1

      11111111 11111111 11111111 11111111

      00000000 00000000 00000000 00000010

      2>>1

      00000000 00000000 00000000 00000001

      2147483647-1 1

      3.以下temp變量最終取值是什么?

      long temp =(int)3.9;

      temp %= 2;

      答:取值為1。

      4.以下代碼能否編譯通過(guò)?假如能編譯通過(guò),運(yùn)行時(shí)將得到什么打印結(jié)果?

      if(5 & 7 > 0 && 5 | 2)System.out.println(“true”);

      答:int型不能作為boolean型出現(xiàn)。

      5.以下代碼能否編譯通過(guò)?假如編譯通過(guò),運(yùn)行時(shí)將得到什么打印結(jié)果?

      int output=10;

      boolean b1 = false;

      if((b1==true)&&((output+=10)==20)){

      System.out.println(“We are equal”+output);} else {

      System.out.println(“Not equal!”+output);}

      答:Not equal!10

      6.以下代碼能否編譯通過(guò)?假如能編譯通過(guò),運(yùn)行時(shí)將得到什么打印結(jié)果?

      int output=10;

      boolean b1 = false;

      if((b1==true)&((output+=10)==20)){

      System.out.println(“We are equal”+output);} else {

      System.out.println(“Not equal!”+output);}

      答:Not equal!20

      7.對(duì)于以下聲明:

      String s1=new String(“Hello”);

      String s2=new String(“there”);

      String s3=new String();

      下面哪些是合法的操作?

      (a)

      s3=s1+s2;

      (b)

      s3=s1-s2;

      (c)

      s3=s1&s2;

      (d)

      s3=s1&&s2;

      答:(a)是合法操作。除了“+”能用于字符串的連接以外,其他操作符(如“-”、“&”、“&&”等)都不支持String類(lèi)型的操作元。

      第五章

      流程控制

      1.運(yùn)行以下代碼,將得到什么打印結(jié)果?

      int i = 3;

      int j = 0;

      double k = 3.2;

      if(i < k)

      if(i == j)

      System.out.println(i);

      else

      System.out.println(j);

      else

      System.out.println(k);

      答:0

      2.以下代碼能否編譯通過(guò)?假如能編譯通過(guò),運(yùn)行時(shí)將得到什么打印結(jié)果?

      int i = 4;

      switch(i){

      default:

      System.out.println(“default”);

      case 0:

      System.out.println(“zero”);

      break;

      case 1:

      System.out.println(“one”);

      case 2:

      System.out.println(“two”);}

      答:可以編譯通過(guò),打印結(jié)果是:

      default

      zero

      分析:default可以放在任何位置上,一旦符合一個(gè)case即從頭執(zhí)行到尾,不再判斷case。

      3.以下哪些是合法的

      (a)

      int i;for(i=5, int j=10;i<10;j--){}

      (b)

      int i,j;for(i=0, j=10;i<10, j>0;i++, j--){}

      (c)

      int i,k;for(i=0, k=9;(i<10 && k>0);i++, k--){}

      (d)

      int i,j;for(i=0;j=10;i<10;i++,j--){} 答:(a)for語(yǔ)句中int定義要放在開(kāi)頭。編譯不通過(guò)。

      (b)循環(huán)判斷語(yǔ)句不可以用逗號(hào)連接。編譯不通過(guò)。

      (c)合法。

      (d)分號(hào)只能有2個(gè)。

      4.運(yùn)行以下代碼,將得到什么打印結(jié)果?

      int i = 1;

      switch(i){

      default:

      System.out.println(“default”);

      case 0:

      System.out.println(“zero”);

      break;

      case 1:

      System.out.println(“one”);

      case 2:

      System.out.println(“two”);}

      答:分析同1,運(yùn)行結(jié)果如下:

      one

      two

      5.以下哪些代碼合法?

      (a)

      float x=1;

      switch(x){

      case 1;

      System.out.println(“Got a 1”);

      }

      (b)

      long x=1;

      switch(x){

      case 1;

      System.out.println(“Got a 1”);

      }

      (c)

      byte x=1;

      switch(x){

      case 1/1;

      System.out.println(“Got a 1”);

      }

      (d)

      int x=1;

      int c=1;

      switch(c){

      case x;

      System.out.println(“Got a 1”);}

      (e)

      short x=1;

      switch(x){

      case 3.2/2;

      System.out.println(“Got a 1”);

      }

      (f)

      short x=1;

      switch(x){

      case 1,2,3;

      System.out.println(“Got a 1”);

      }

      答:只有(c)是合法的。

      6.以下代碼能否編譯通過(guò)?假如能編譯通過(guò),運(yùn)行時(shí)將得到什么打印結(jié)果?

      for(int a=0, b=0;a<2;b=++a, System.out.println(“b=”+b)){

      System.out.println(“a=”+a);}

      答:可以通過(guò)編譯,打印結(jié)果:

      a=0 b=1 a=1 b=2

      7.以下代碼能否編譯通過(guò)?假如能編譯通過(guò),運(yùn)行時(shí)將得到什么打印結(jié)果?

      int x=0;one:

      while(x<10)

      {

      two:

      System.out.println(++x);

      if(x>3)

      break two;

      }

      答:不能通過(guò)編譯。

      第三篇:使用java實(shí)現(xiàn)面向?qū)ο缶幊炭偨Y(jié)

      第一章:抽象和封裝

      1,為什么使用面向?qū)ο?/p>

      1.1:萬(wàn)事萬(wàn)物皆對(duì)象,面向?qū)ο缶褪遣捎谩艾F(xiàn)實(shí)模擬”的方法設(shè)計(jì)和開(kāi)發(fā)程序。

      2,使用面向?qū)ο筮M(jìn)行設(shè)計(jì)

      2.1:面向?qū)ο笤O(shè)計(jì)三部曲

      1,發(fā)現(xiàn)類(lèi)。

      2,發(fā)現(xiàn)類(lèi)的屬性。

      3,發(fā)現(xiàn)類(lèi)的方法。

      經(jīng)驗(yàn):在需求中找出名詞的方式確定類(lèi)和屬性,找出動(dòng)詞的方式確定方法。

      3,創(chuàng)建類(lèi)的對(duì)象

      1,通過(guò)構(gòu)造方法來(lái)創(chuàng)建對(duì)象

      2,通過(guò)對(duì)象名.屬性名的方式調(diào)用屬性。

      3,通過(guò)對(duì)象名.方法名的方式調(diào)用方法。

      4,Static可以用來(lái)修飾屬性,方法和代碼塊。Static修飾的變

      量屬于這個(gè)類(lèi)所有。即由這個(gè)類(lèi)創(chuàng)建的所有對(duì)象共有同一個(gè)static變量。類(lèi)屬性,類(lèi)方法可以通過(guò)類(lèi)名和對(duì)象名訪問(wèn),勢(shì)力屬性,實(shí)例方法只能通過(guò)對(duì)象名訪問(wèn)。

      5,在方法里不可以定義static變量,類(lèi)變量不能是局部變量。6,構(gòu)造函數(shù)的重載

      1,構(gòu)造方法的名字和類(lèi)名相同,沒(méi)有返回值類(lèi)型。構(gòu)造

      方法的作用主要就是在創(chuàng)建對(duì)象是執(zhí)行一些初始化操作,賦值。

      2,在沒(méi)有給類(lèi)提供任何構(gòu)造方法時(shí),系統(tǒng)會(huì)提供一個(gè)無(wú)

      參的方法體為空的默認(rèn)構(gòu)造方法。一旦提供了自定義構(gòu)造方法,系統(tǒng)將不會(huì)提供這個(gè)默認(rèn)構(gòu)造方法,如果要使用她,必須手動(dòng)添加。

      3,如果同一個(gè)類(lèi)中包含了兩個(gè)或兩個(gè)以上方法,它們的方法名相同,方法參數(shù)個(gè)數(shù)或參數(shù)類(lèi)型不同,則稱(chēng)該方法被重載。成員方法和構(gòu)造方法都可以重載。

      4,構(gòu)造方法沒(méi)有返回值類(lèi)型。如果有,就不是構(gòu)造方法,而是構(gòu)造方法同名的成員方法。

      5,封裝

      1,封裝是類(lèi)的三大特性之一,就是將類(lèi)的狀態(tài)信息隱

      藏在內(nèi)部。

      2,封裝的具體步驟:為每個(gè)屬性創(chuàng)建一對(duì)一賦值,在賦值方法中,加入對(duì)屬性的存取控制語(yǔ)句。

      3,隱藏類(lèi)的實(shí)現(xiàn)細(xì)節(jié),讓使用者只能通過(guò)程序員規(guī)定的方法來(lái)訪問(wèn)數(shù)據(jù),可以方便地加入存取控制語(yǔ)句,限制不合理操作。

      第四篇:C語(yǔ)言面向?qū)ο缶幊虒W(xué)習(xí)筆記

      C語(yǔ)言面向?qū)ο缶幊坦P記

      1、在底層驅(qū)動(dòng)函數(shù)前加static標(biāo)識(shí)符的作用:

      a:加了static后表示該函數(shù)失去了全局可見(jiàn)性,只在該函數(shù)所在的文件作用域內(nèi)可見(jiàn) b:當(dāng)函數(shù)聲明為static以后,編譯器在該目標(biāo)編譯單元內(nèi)只含有該函數(shù)的入口地址,沒(méi)有函數(shù)名,其它編譯單元便不能通過(guò)該函數(shù)名來(lái)調(diào)用該函數(shù),這也是對(duì)1的解析與說(shuō)明

      2、底層驅(qū)動(dòng)的封裝模板

      通常將存儲(chǔ)類(lèi),顯示類(lèi),AD-DA類(lèi)的外設(shè)驅(qū)動(dòng)函數(shù)封裝為以下幾個(gè)函數(shù): Void Open(void);

      此函數(shù)用于開(kāi)啟外設(shè),通常函數(shù)體中包涵IO和外設(shè)的初始化 Void Close(void)此函數(shù)用于關(guān)閉外設(shè),特別是一些在休眠下功耗很大的外設(shè),可用mos管控制其Vcc的通斷,以此達(dá)到降低系統(tǒng)功耗的目的

      Void Read(unsigned int address,unsigned char *data[],unsigned int count)

      此函數(shù)用于讀取數(shù)據(jù),參數(shù)分別為:address,地址,*data[],存放數(shù)據(jù)的數(shù)組,count,要讀取的字節(jié)數(shù)

      Void Write(unsigned int address,unsigned char *data[],unsigned int count)此函數(shù)用于寫(xiě)數(shù)據(jù),參數(shù)功能與讀函數(shù)中相似。

      Void control(unsigned char cmd,unsigned char data)此函數(shù)用于控制外設(shè)的工作狀態(tài),如休眠,低功耗等等

      3、命名規(guī)則

      A、宏定義全部用大寫(xiě)

      如:#define OLED_CS PBout(12)B、驅(qū)動(dòng)函數(shù)名稱(chēng)大小寫(xiě),并且動(dòng)詞放置在末尾如

      static long _OLED_Close(void)C、結(jié)構(gòu)體的名稱(chēng),結(jié)構(gòu)體名大寫(xiě),變量名小寫(xiě),“驅(qū)動(dòng)”的首字母大寫(xiě)

      如:struct OLED_DEVICE oledDevice;

      4、關(guān)于外設(shè)的數(shù)據(jù)手冊(cè)

      外設(shè)的數(shù)據(jù)手冊(cè)應(yīng)該去芯片的官網(wǎng)下載最新版本,特別注意芯片的是否有功耗控制方面的內(nèi)容,

      第五篇:面向?qū)ο笾R(shí)總結(jié)

      一、封裝

      1.類(lèi)本身就是一個(gè)封裝單元

      2.實(shí)現(xiàn):A屬于私有化;B共有的方法提供給外界訪問(wèn);C信息隱藏,安全,對(duì)外提供清晰的接口

      二、繼承

      1.代碼共有,方便維護(hù)擴(kuò)展 2.更符合人類(lèi)遇到的問(wèn)題及處理的習(xí)慣 3.多重繼承關(guān)系下構(gòu)造函數(shù)的執(zhí)行過(guò)程

      三、多態(tài)

      1.概念

      2.好處

      3.應(yīng)用(生活,程序中的應(yīng)用)

      程序多態(tài)的應(yīng)用

      1.方法重載

      2.重寫(xiě)父類(lèi)的方法

      3.重寫(xiě)父類(lèi)的抽象方法

      4.父類(lèi)類(lèi)型作為方法參數(shù),實(shí)現(xiàn)

      5.以父類(lèi)的引用,接收不同子類(lèi)返回的結(jié)果

      6.用接口實(shí)現(xiàn)

      四、面向接口編程

      1.理解接口

      1.1接口體現(xiàn)的是一種能力

      體現(xiàn)在接口中的方法

      1.2接口的體現(xiàn)是一種約定體現(xiàn)在注釋和接口的名稱(chēng) 1.3面向接口編程程序設(shè)計(jì)時(shí):

      A關(guān)注實(shí)現(xiàn)類(lèi)有那些功能,不需要關(guān)注實(shí)現(xiàn)細(xì)節(jié)

      B面向接口的約定不考慮接口

      具體的實(shí)現(xiàn)2.使用接口如何使用接口?A編寫(xiě)接口<-----根據(jù)需求設(shè)計(jì)接口的方法 B實(shí)現(xiàn)接口<-----實(shí)現(xiàn)接口里定義的所有方法 C使用接口<-----多態(tài) 3.特征1.多實(shí)現(xiàn),彌補(bǔ)單一繼承不足 2.項(xiàng)目初期,搭建系統(tǒng)時(shí)不需要考慮具體的實(shí)現(xiàn)自然使用接口:設(shè)計(jì)和顯現(xiàn)分離 3.方便搭建整個(gè)應(yīng)用系統(tǒng),及系統(tǒng)設(shè)計(jì)

      也方便搭建系統(tǒng)框架 4.多態(tài)應(yīng)用的很好體現(xiàn)更自然的使用多態(tài)

      重點(diǎn):

      1.掌握抽象類(lèi)與接口不同之處 難點(diǎn):

      1.方法重載與重寫(xiě) 2.繼承關(guān)系下,構(gòu)造函數(shù)執(zhí)行流程 知識(shí)體系:

      數(shù)據(jù)庫(kù)體系 + OO體系

      下載面向?qū)ο缶幊痰目偨Y(jié)[五篇范文]word格式文檔
      下載面向?qū)ο缶幊痰目偨Y(jié)[五篇范文].doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶(hù)自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦