程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java04,ubuntu16.04java

Java04,ubuntu16.04java

編輯:JAVA綜合教程

Java04,ubuntu16.04java


  0.面向對象(Object Oriented:OO):     0、OOA(面向對象分析) OOD(面向對象的設計) OOP(面向對象編程)     1、是軟件開發方法     2、擴展的領域:數據庫系統、交互式界面、應用平台、分布式系統、人工智能等領域     3、是一種對現實世界的理解和抽象的方法,是計算機編程技術發展到一定階段的產物   1.類和對象的基本概念     1.類:類是對具有相似性質的一類事物的抽象,類封裝了相似性質事物的屬性(特征)和方法(行為)   (即類的成員)     2.對象:對象是一類事物中具體的個體     3.類——對象    關系參考     種群——個體       4.類的構成:零個或多個成員變量  零個或多個方法  零個或多個構造器         成員變量:定義該類或該類的實例所包含的狀態數據         方法:用來定義該類或該類的實例的行為特征或者功能實現         構造器:用於構造該類的實例(關於構造器後面會著重講解)     5.對象的產生和使用:         創建創建出來後就可以使用了,Java的對象大致有如下作用:訪問對象的實例變量和調用對象的方法         創建對象的根本途徑是構造器,通過new關鍵字來調用某個類的構造器即可以創建這個類的實例(對象)         對象名.實例變量|方法         類名.類變量|方法     6.一般實體類例子  Dog.java ; 對象的聲明和創建; 程序入口類(主類),帶有main方法的類       7.一個人(張三)在街上散步,遇到一條狗(大黃),狗(大黃)咬了人(張三),人(張三)打了狗(大黃),狗(大黃)跑了~!     package Chapter7_2; //Dog類的申明 public class Dog {           String name;           public void beatPersion(People p){                    System.out.println(name+"咬了"+p.name);           }           public void dogRun(){                    System.out.println(name+"跑了......");           } }       package Chapter7_2; //People類的申明 public class People {           String name;           public void walk(){                    System.out.println(name+"街上散步");           }           public void meetDog(Dog dog){                    System.out.println(name+"遇到"+dog.name);           }           public void beatDog(Dog dog){                    System.out.println(name+"打了"+dog.name);           } }     package Chapter7_2; //主類 public class DogAndPeople {             public static void main(String[] args) {                    People peo=new People();                    Dog dog =new Dog();                    peo.name="張三";                    dog.name="大黃";                    peo.walk();                    peo.meetDog(dog);                    dog.beatPersion(peo);                    peo.beatDog(dog);                    dog.dogRun();           }   }   2.練習: Car類,描述汽車的屬性(品牌mark、排量power、顏色color、價格price)     和方法(啟動start、加速speedup、正常行駛run,碰到hit(人))          寫一個People類,有屬性(姓名name、性別sex、年齡age)、          方法(駕駛drive(car),以Car類對象為參數),             在主類中         1)讓一個人張三駕駛一輛寶馬車在街上飛奔         2)碰到了一個叫做李四的人   package Chapter7_3; //定義Car類 public class Car {           String mark;           int power;           String color;           int price;             public void start(People p) {                    System.out.println(p.name + "啟動了"+mark);           }           public void speedUp(){                    System.out.println(mark+"加速");           }           public void run(){                    System.out.println(mark+"正常行駛");           }           public void hit(People p){                    System.out.println(mark+"撞了"+p.name);           } }       package Chapter7_3; //People類申明 public class People {           String name ;           char sex;           short age;           public void dirve(Car car){                    System.out.println(name+"駕駛"+car.mark);           }   }     package Chapter7_3; //主類 public class CarAndPerple { public static void main(String[] args) {           Car car=new Car();           People p1=new People();           People p2=new People();           car.color="black";           car.mark="寶馬";           car.power=123;           car.price=123143;           p1.age=20;           p1.name="張三";           p1.sex='m';           p2.age=21;           p2.name="李四";           p2.sex='m';           car.start(p1);           car.speedUp();           p1.dirve(car);           car.run();           car.hit(p2); } }     3.類和對象的使用總結     1.抽象出具有相似特征(屬性)和行為(方法)的一類事物封裝到類裡     2.根據業務需要實例化(new)出具體的對象     3.對對象進行初始化賦值,以便得到具體對象的特征     4.根據業務需要組合對象之間的行為(方法)        4.成員變量和局部變量     1.成員變量定義在類中,方法的外面;又叫全局變量,有效作用域是整個類體     2.局部變量定義在方法裡面,作用域是方法內部     3.當局部變量和成員變量名字相同的時候,成員變量在該局部變量所在的方法中被隱藏。如果需要在這個方法裡使用被隱藏的全局(成員)變量,需要使用this關鍵字         this:如果局部變量和成員變量同名,可以在局部變量所在的代碼塊裡調用成員變量     5.關於方法的設計     1.方法的所屬性     2.方法的組成  :訪問修飾符  返回值  方法名  方法參數列表     3.重載:方法重載是指一個類中可以有多個方法具有相同的名字,但這些方法的參數必須不同,即或者是參數的個數不同,或者是參數的類型不同。                練習:簡易計算器(能實現兩個、三個、四個數的加)       6.構造方法(構造器)       1.什麼是構造方法?有何特點?     2.構造方法的作用?     3.構造方法何時被調用?     例子:7     練習:8       4.構造方法可以重載嗎?     5.其他說明:         構造器是創建對象的重要途徑,一個類中至少要包含一個構造器         程序員如果不給一個類加構造器,則系統會默認添加一個沒有參數的構造器     7.示例:建立一個學生類,有學號、姓名、年齡、性別屬性,有描述個人信息的方法,通過鍵盤輸入獲取兩個學生的信息,並且打印出描述信息   略   8.構建一個員工信息類(Employee),有員工編號、員工姓名、性別、年齡、工齡、工資等屬性,有工作和休息的方法,還有打印自身信息的方法;      在入口類中通過鍵盤輸入,獲取兩個員工的對象,要求通過帶參數的構造方法來進行成員變量的初始化。然後根據輸入星期幾,來輸出員工當前的狀態(周一至周五工作、周六和周日休息)   package Chapter8_2; //所有類與方法在同一個文件中 import java.util.Scanner;   public class Staff {           int number;           String name;           char sex;           short age;           short w_age;           long mon;             public Staff(String name, int number, char sex, short age, short w_age,                              long mon) {                      this.name = name;                    this.number = number;                    this.sex = sex;                    this.age = age;                    this.w_age = w_age;                    this.mon = mon;             }             public void rest() {                    System.out.println(name + "今天休息");           }             public void work() {                    System.out.println(name + "今天工作");           }             public void printSelf() {                    System.out.println(name + "\t" +number+"\t" +sex + "\t" + age + "\t" + w_age + "\t"                                       + mon + "\t");           }             public static void main(String[] args) {                    Scanner scan = new Scanner(System.in);                    System.out.println("請輸入第一個員工的信息:姓名,工號,性別,年齡,工齡,工資");                    String name = scan.next();                    int number = scan.nextInt();                    char sex = scan.next().charAt(0);                    short age = scan.nextShort();                    short w_age = scan.nextShort();                    long mon = scan.nextLong();                    Staff sta = new Staff(name, number, sex, age, w_age, mon);                    System.out.println("今天星期幾");                    short day = scan.nextShort();                    if (day < 6) {                              sta.work();                    } else if (day >= 6 && day <= 7) {                              sta.rest();                    } else {                              System.out.println("error!");                    }                    System.out.println("員工信息如下");                    System.out.println("姓名"+"\t"+"工號"+"\t"+"性別"+"\t"+"年齡"+"\t"+"工齡"+"\t"+"工資");                    sta.printSelf();           }   }       9.變量、方法的分類:       內存的分配:棧內存  堆內存     創建對象時,通過new關鍵字調用構造函數,返回當前類的對象:People p=new People();     對象裡有成員變量,會在堆內存中開辟連續的空間存儲成員變量。     p是People類型的引用,p存儲在棧內存中,它指向堆內存中的對象       這種引用就是C語言中的指針,只是Java語言把這個指針封裝了起來       變量:成員變量   局部變量         成員變量:類變量(有static關鍵字修飾) 和 實例變量(沒有static關鍵字修飾)         局部變量:形參、方法內的變量、代碼塊的變量       方法:類方法(有static關鍵字修飾)、實例方法(沒有static關鍵字修飾)       java中類的生命周期:加載(Loading)-->驗證(Verification)-->准備(Preparation)-->解析(Resolution)-->                 初始化(Initialization)-->使用(Using)-->卸載(Unloadling)       1、類變量和實例變量的區別:類變量共享 ,類變量在類加載時分配入內存;實例變量每個對象獨有 ,實例變量在類初始化的時候分配內存。     2、類方法和實例方法的區別:類方法在類加載時分配入口地址;實例方法在類初始化時分配入口地址 (創建第一個對象時)       3、訪問和調用規則:         1、實例方法既能能訪問實例變量又能訪問類變量         2、類方法只能訪問類變量         3、實例方法能調用類方法,但是類方法只能調用類方法   10.對象默認初始化   11.總結     1.類的概念、對象的概念;通過群體和個體的概念理解類和對象的關系     2.類的成員包括—— 屬性、方法 (有啥,能干啥)     3.方法的設計         a.方法名首字母小寫;望文生義;多個單詞組成的方法名首字母小寫,第二個單詞開始首字母大寫         b.返回類型         c.方法的重載(參數的不同,要麼參數個數不同,要麼參數類型不同)     4.成員變量和局部變量的區別;this關鍵字的作用(this相當於對象自身的意思)     5.關於構造方法         a.每一個類都有構造方法,不寫不代表沒有(默認無參的構造方法)         b.構造函數與new關鍵字息息相關,直接決定了對象的構成方式         c.帶參數構造方法的常用方式(給成員變量進行賦值)     6.實例變量和類變量、實例方法和類方法;關鍵字static 13.作業     1.比較大小:寫一個有兩個int型的參數的方法,要求方法能夠比較這兩個參數的大小,並且返回比較大的一個,在另外一個類裡使用這個方法。       2.判斷 :在一個類裡有一個方法,能判斷給定的參數是否為偶數,如果是偶數返回true,否則返回false。在另一個類裡調用該方法。       3.寫一個方法,有三個參數,分別為三個線段的長度,判斷三條線段是否能組成一個三角形,如果能返回true,否則返回false。在另一個類中使用       4.寫一個三個參數的方法,判斷給定的三個參數能否構成直角三角形。另一個類裡使用。  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved