java 上機實踐四 類與物件
實驗一,機動車:
實驗目的:理解類和物件的屬性和公能
主類
public class Main{ public static void main(String args[]){ Vehicle car1=new Vehicle(); Vehicle car2=new Vehicle(); car1.setPower(128); car2.setPower(76); System.out.println("car1的功率為 " + car1.getPower()); System.out.println("car2的功率為 " + car2.getPower()); car1.speedUp(10); car2.speedUp(80); System.out.println("car1目前的速度為 "+car1.getSpeed()); System.out.println("car2目前的速度為 "+car2.getSpeed()); car1.speedDown(10); car2.speedDown(20); System.out.println("car1目前的速度為 "+car1.getSpeed()); System.out.println("car2目前的速度為 "+car2.getSpeed()); } }
Vehicle類
public class Vehicle { double speed; int power; void speedUp(int s){ speed+=s; if(speed>200){ System.out.println("請減速慢行"); speed=200; } } void speedDown(int s){ speed-=s; } void setPower(int p){ power=p; } int getPower(){ return power; } double getSpeed(){ return speed; } }
實驗二,家中的電視:
實驗目的:掌握物件的組合以及資料的傳遞
TV . java
public class TV { int channel; void setChannel(int s){ if(s<1) System.out.println("頻道數錯誤"); else channel=s; } int getChannel(){ return channel; } void showProgram(){ switch(channel){ case 1:System.out.println("綜合頻道");break; case 2:System.out.println("經濟頻道");break; case 3:System.out.println("國際頻道");break; case 4:System.out.println("體育頻道");break; default:System.out.println("不能收看"); } } }
Family . java
public class Family {
TV homeTV;
void buyTV(TV tv){
homeTV=tv;
}
void remoteControl(int m){
homeTV.setChannel(m);
}
void seeTV(){
homeTV.showProgram();
}
}
主類:
public class Main{
public static void main(String args[]){
TV haierTV=new TV();
haierTV.setChannel(2);
System.out.println("haierTV的頻道為 "+ haierTV.getChannel());
Family zhangSanFamily=new Family();
zhangSanFamily.buyTV(haierTV);
System.out.println("張三開始看電視");
zhangSanFamily.seeTV();
int m=1;
System.out.println("張三將電視節目更換到"+ m+ "頻道");
zhangSanFamily.remoteControl(m);
System.out.println("haier電視的節目"+haierTV.getChannel());
System.out.println("張三在看電視的節目");
zhangSanFamily.seeTV();
}
}
實驗三,飲用水:
實驗目的:掌握類變數和例項變數,類方法和例項方法的區別
例項變數
- 例項變數宣告在一個類中,但在方法、構造方法和語句塊之外;
- 當一個物件被例項化之後,每個例項變數的值就跟著確定;
- 例項變數在物件建立的時候建立,在物件被銷燬的時候銷燬;
- 例項變數的值應該至少被一個方法、構造方法或者語句塊引用,使得外部能夠通過這些方式獲取例項變數資訊;
- 例項變數對於類中的方法、構造方法或者語句塊是可見的。一般情況下應該把例項變數設為私有。通過使用訪問修飾符可以使例項變數對子類可見;
- 例項變數具有預設值。數值型變數的預設值是0,布林型變數的預設值是false,引用型別變數的預設值是null。變數的值可以在宣告時指定,也可以在構造方法中指定;
- 例項變數可以直接通過變數名訪問。但在靜態方法以及其他類中,就應該使用完全限定名:ObejectReference.VariableName。
類變數(靜態變數)
- 類變數也稱為靜態變數,在類中以static關鍵字宣告,但必須在方法構造方法和語句塊之外。
- 無論一個類建立了多少個物件,類只擁有類變數的一份拷貝。
- 靜態變數除了被宣告為常量外很少使用。常量是指宣告為public/private,final和static型別的變數。常量初始化後不可改變。
- 靜態變數儲存在靜態儲存區。經常被宣告為常量,很少單獨使用static宣告變數。
- 靜態變數在程式開始時建立,在程式結束時銷燬。
- 與例項變數具有相似的可見性。但為了對類的使用者可見,大多數靜態變數宣告為public型別。
- 預設值和例項變數相似。數值型變數預設值是0,布林型預設值是false,引用型別預設值是null。變數的值可以在宣告的時候指定,也可以在構造方法中指定。此外,靜態變數還可以在靜態語句塊中初始化。
- 靜態變數可以通過:ClassName.VariableName的方式訪問。
- 類變數被宣告為public static final型別時,類變數名稱必須使用大寫字母。如果靜態變數不是public和final型別,其命名方式與例項變數以及區域性變數的命名方式一致。
Village。java
public class Village {
static int waterAmount;
int peopleNumber;
String name;
Village(String s){
name=s;
}
static void setWaterAmount(int s){
waterAmount=s;
}
void drinkWater(int s){
if(waterAmount-s>0){
waterAmount-=s;
System.out.println(name + " 喝了 "+s+" L 水");
}
else{
System.out.println(name + " 喝了 "+waterAmount+" L 水");
waterAmount=0;
}
}
static int loolWaterAmout(){
return waterAmount;
}
void setPeople(int n){
peopleNumber=n;
}
int getPeople(){
return peopleNumber;
}
}
主類:
public class Main{
public static void main(String args[]){
Village.setWaterAmount(200);
int leftWater=Village.loolWaterAmout();
System.out.println("井裡面還有 "+leftWater+" L 水");
Village zhaoZhuang=new Village("趙莊");
Village maJiaHeZhi=new Village("馬家河子");
zhaoZhuang.setPeople(80);
maJiaHeZhi.setPeople(120);
zhaoZhuang.drinkWater(50);
leftWater=maJiaHeZhi.loolWaterAmout();
String name=maJiaHeZhi.name;
System.out.println(name+" 發現井裡面剩下 "+leftWater+" L 水");
zhaoZhuang.drinkWater(100);
leftWater=maJiaHeZhi.loolWaterAmout();
name=zhaoZhuang.name;
System.out.println(name+" 發現井裡面剩下 "+leftWater+" L 水");
System.out.println("趙莊的人口 "+zhaoZhuang.getPeople());
System.out.println("馬家河子的人口 "+maJiaHeZhi.getPeople());
}
}
相關推薦
java 上機實踐四 類與物件
實驗一,機動車: 實驗目的:理解類和物件的屬性和公能 主類 public class Main{ public static void main(String args[]){ Vehicle car1=new Vehicle(); Vehicle car2=ne
java程式設計入門9 類與物件
面向物件程式設計三大特性 1.封裝 1)也就是把客觀的事物封裝成抽象的類,並且類可以把自己的屬性方法只讓可信的類和物件操作,對不可信的隱藏內部細節。 2)類通常對客戶隱藏其實現細節。 3)採用封裝的思想保證了類內部資料結構的完整性。 2.繼承 1)派生類(子類)可以通過繼承基類(超類或父類)來擁有
Java之路:類與物件
一、類 將具有相同屬性及相同行為的一組物件稱為類(class)。廣義地講,具有共同性質的事物的集合就稱為類。 在面向物件程式設計中,類是一個獨立的單位,它有一個類名,其內部包括成員變數,用於描述物件的屬性;還包括類的成員方法,用於描述物件的行為。 在Java程式設計中,類被認為是
Java for Selenium | 理解類與物件
理解Java的類與物件 類與物件是面向物件程式語言中最重要的一個基本概念,Java也不例外。理解了類與物件的概念,學習起Java來就會容易很多。 本篇為大家介紹java類與物件的概念。在我們
Java中的集合類與物件的判空
1.集合類Array、List、Map、Set的判空 a.List進行判空 //判斷關聯的積分項是否為空,若不為空,則插入資料庫 if(pointsItemList != null && !pointsItemList.isEmp
JAVA基礎第四章-集合框架Collection篇 JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性:封裝、繼承、多型 JAVA基礎第三章-類與物件、抽象類、介面 記一次list迴圈刪除元素的突發事件!
業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。 往期章節: JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性
【計算機基礎】Java學習篇(四) 認識類與物件(打包器、陣列和字串)
介紹完基本型別,下面介紹類型別。 瞭解物件與參考的關係,認識打包器,以及陣列物件、字串物件。 一、類與物件 1.建立類 編寫程式需要使用物件(Object),產生物件必須先定義類(Class),類就像是設計圖,而物件是類
JAVA基礎第五章-集合框架Map篇 JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性:封裝、繼承、多型 JAVA基礎第三章-類與物件、抽象類、介面 JAVA基礎第四章-集合框架Collection篇
業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。 往期章節: JAVA基礎第一章-初識java
JAVA(雜記四) -- 類與物件
東西太多,先寫在程式碼裡了,以後有時間整理public class Main { public static void main(String[] args) { Employee e1 = new Employee("lyy
Java學習筆記(四)類與物件
1. 類與物件: 從語義上理解,類是物件的模板,物件是類的例項,從語法上理解,類是一種資料型別,物件是這種型別的變數。在類的內部,方法可以直接訪問該類的私有變數,但對於外部的類,則不可。注意類中的欄位預設為private。 2. 成員方法的修飾: public,pri
JAVA——第四章——類與物件
接著上一篇部落格的總結,我已經學習並總結到了JAVA的類構造器,接著學習並總結。 四 . 將訊息傳給方法或構造器 引數即是將資料傳送給方法或構造器的媒介。形參是指方法宣告中的變數列表,而實參是方法呼叫時實際傳遞的值。呼叫方法時,所使用的實參與宣告中形參的型別
3.Java面向物件程式設計OOA/OOP/OOD/OOAD()/UML類圖、函數語言程式設計Scala(JVM)---類與物件、封裝繼承多型、構造方法、覆寫/重寫/override
一、緒論 1.面向物件程式設計正規化(C++、Java、Go)------能進行現實生活的抽象。 每個物件都是一個類。類中包含屬性與方法。 OOA:面向物件分析 OOP:面向物件程式設計
Java類與物件練習題
1.建立一個Test類,包含有一個public許可權的int型成員變數與一個char型別的成員變數,觀察在main方法中的初始值。 public class StrTest { public int x; public char ch; public static vo
Java——類與物件
面向物件程式設計正規化(C++,Java,Go語言) 能進行對現實生活的抽象每個物件(類)都有自己的屬性和方法 1.面向物件程式設計的三大特徵 a.封裝性: 將客觀事物封裝成抽象的類,每個類都有自己的屬性以及方法,並且類可以讓自己的方法和屬性只讓可信的類或物件操作,對不可信的進行資訊
Java第五週學習總結——類與物件的總結
教材學習內容總結 1.面向過程與面向物件 1.1 面向過程: 以C語言為例,源程式由若干個書寫形式互相獨立的函式組成。編寫程式碼時不必考慮機器指令細節,其語法更加貼近自然語言,語言的核心為編寫解決某個問題的程式碼塊; 1.2 面向物件: 易維護、易擴充套件、易複用。語言核心為物件
Java 面向物件-類與物件
Java面向物件-類與物件 類與物件的關係 我們通俗的舉個例子,比如人類是一種類,張三這個人就是人類的具體的一個個體,也就是java中的物件;這就是一個類與物件的關係; 類的定義 下面看例項 類的建立和使用 package com.xuyiga
java之面向物件思想、類與物件的概述
1:面向物件思想: 面向物件是基於面向過程的程式設計思想 面向過程:強調的是每一個功能的步驟 面向物件:強調的是物件,然後由物件去呼叫功能 2:面向物件的思想特點: A:是一種更符合我們思想習慣的思想 B:可以將複雜的事情簡單化 C:將
Java中的組織形式、類與物件、靜態的static關鍵字、最終的final關鍵字、方法傳參方式、遞迴(階乘、斐波那契數列、漢諾塔)
Java程式的組織形式 Java程式需要把程式碼以類的形式組織起來,然後被Java編譯器編譯,再被JVM執行。Java程式是以類的結構為基礎的。 Java程式的基本要素 識別符號 識別符號命名規範 關鍵字(保留字) 關鍵字(保留字)具有專門的意義和用途
JAVA複習 類與物件
總體框架 public class Rectangle() { 1\private double width; 2\private double length; 3\public Rectangle(double width,double length) 4\p
java學習(類與物件) 第二更 建立汽車物件 並錄入汽車資訊
最近學習了java的類與物件。 java面向物件程式設計的有三大特徵: ①封裝性 所謂封裝,也就是把客觀事物封裝成抽象的類,並且類可以把自己的資料和方法只讓可信的類或者 物件操作,對不可信的進行資訊隱藏。簡而言之就是,內部操作對外部而言不可見(保護性) ②繼承性 繼承是指它可以使用現有類的所