-
1)成員變量隸屬于對象
2)成員變量用于保存對象的靜態特征
3)同一類的不同對象有相同的成員變量,但是值可能不同,相互獨立
查看全部 -
1)類是抽象的,對象是具體,世界萬物皆對象
2)類是對象的模板,對象是類的具體實例
查看全部 -
1、定義類名時,首字母要大寫,之后的每個有意義的單詞也要大寫;
2、定義對象名是,首字母要小寫,之后的每個有意義的單詞也要大寫;
查看全部 -
package com.imooc.weather;
import com.imooc.weather.impl.WeatherUtilsImpl;
import java.util.List;
import java.util.Scanner;
public class Application {
? ?public static void main(String[] args) {
? ? ? ?System.out.println("查詢最近天氣預報:");
? ? ? ?System.out.println("輸入1:查詢未來24小時天氣預報:");
? ? ? ?System.out.println("輸入2:查詢未來3天天氣預報");
? ? ? ?System.out.println("輸入3:查詢未來7天天氣預報");
? ? ? ?System.out.print("請輸入您的選擇:");
? ? ? ?Scanner scanner = new Scanner(System.in);
? ? ? ?int i = scanner.nextInt();
? ? ? ?System.out.println("用戶輸入數字:" + i);
? ? ? ?if(i==1){
? ? ? ? ? ?System.out.print("請輸入城市名稱查詢未來24小時天氣預報:");
? ? ? ? ? ?String city = scanner.next();
? ? ? ? ? ?WeatherUtils weatherUtils = new WeatherUtilsImpl();
? ? ? ? ? ?List<HourWeather> weatherList = weatherUtils.w24h("6041b3aec1454b558067ffd7148e5b29",city);
? ? ? ? ? ?System.out.println(weatherList);
? ? ? ?}
? ?}
}查看全部 -
除了非常底層的需要直接使用數組,其他都會使用ArrayList來替代數組
使用List<String>bookList = new ArrayList<String>(); 按照這樣的格式寫,對List里面的類型進行強制要求
package com.imooc.objectproject.sample6;
import java.util.ArrayList;
import java.util.List;
public class ArrayListSample {
? ?public static void main(String[] args) {
? ? ? ?//泛型<類名>,用于規范列表中的數據類型
? ? ? ?List<String> bookList = new ArrayList<String>();//創建ArrayList對象
? ? ? ?bookList.add("紅樓夢");//向列表末端追加數據
? ? ? ?bookList.add("西游記");
? ? ? ?bookList.add("水滸傳");
? ? ? ?bookList.add("三國志");
? ? ? ?bookList.add(0,"鏡花緣");
? ? ? ?System.out.println(bookList);
? ? ? ?String bookName = bookList.get(2);//得到指定索引位置(從0開始)的數據
? ? ? ?System.out.println(bookName);
? ? ? ?int size = bookList.size();//得到列表數據的總數
? ? ? ?System.out.println(size);
? ? ? ?bookList.remove(2);
? ? ? ?System.out.println(bookList);
? ? ? ?bookList.remove(bookList.size()-1);//移除最后一條數據
? ? ? ?System.out.println(bookList);
? ? ? ?for (String book : bookList){ //遍歷列表所有數據
? ? ? ? ? ?System.out.println("《" + book + "》");
? ? ? ?}
? ?}
}查看全部 -
多態:同一個行為具有多個不同的表現形式或形態的能力,根據輸入的內容不同,去產生不同的接口實現
實現多態的關鍵是接口
接口:是一個抽象的類型,只提供方法的定義
實現類:是一個接口的具體實現,要實現每一個接口方法的功能
一個接口可以擁有多個實現類
service進行封裝(用接口接收,不同參數返回不同實現類)
implements關鍵字
外部只用調用接口的方法(實例化service類,調用方法,傳入參數)
好比辦公人類用某臺打印機,使用打印功能,按了黑白打印。public interface Language{
????public void voice();
}
接口里只能定義方法的結構,不允許有方法體{}
實現類要寫關鍵字implements
public class Chinese implements Language{
????這里可以點擊錯誤提示的燈泡,選擇implement methods,選擇要選的方法,點擊OK
}
再寫一個類,叫做CustomerService,在main方法里以接口Language開頭
Language language = new English();
language.voice();
可以這樣寫
public Language contact(int areaCode){
????if (areaCode == 86)
????????return new Chinese(); //這里可以return任何一個實現類
}
如果是在另一個包里,導入實現類以后,可以用接口來使用程序,而不必了解內部細節
查看全部 -
extends關鍵字用于繼承語法為:extends前面為父類,后面為子類
查看全部 -
//MobileNumber
package?com.imooc.object.Sample3;
public?class?MobileNumber?{
????private?String?owner;
????private?String?areaCode;
????private?String?mobileNumber;
????//getter方法,用于讀取成員變量的內容
????//getter書寫格式:public?成員變量類型?get?成員變量名(),PS:首字母大寫????public?String?getOwner()?{
????????//this關鍵字代表當前對象的...
????????return?this.owner;
????}
????public?String?getAreaCode()?{
????????//this關鍵字代表當前對象的...
????????return?this.areaCode;
????}
????//setter方法,setter方法用于設置成員變量的內容
//setter書寫格式:public?void?set成員變量名(新的數據參數)
????public?void?setOwner(String?owner)?{
????????this.owner?=?owner;
????}
????public?void?setAreaCode(String?areaCode)?{
????????this.areaCode?=?areaCode;
????}
}
//MobileNumberTestor
public?class?MobileNumberTestor?{
????public?static?void?main(String[]?args)?{
????????MobileNumber?mobileNumber=new?MobileNumber();
????????mobileNumber.setOwner("老奇");
????????String?owner=?mobileNumber.getOwner();
????????System.out.println(owner);
????????String?areaCode=mobileNumber.getAreaCode();
????????System.out.println(areaCode);
????}
}查看全部 -
appCode
area
return
查看全部 -
implements實現,“實現類名 implements 接口名”
查看全部 -
extends繼承關鍵字 “子類 extends 父類”
查看全部 -
現實中,肉類加工廠封裝了加工的過程、蘋果公司封裝了芯片技術實現的過程等
概念:
封裝就是隱藏功能的實現細節
對象和方法是實現封裝的直接途徑
良好的封裝使代碼更好的閱讀和維護
好處一:把常見的排序算法都封裝在一個類中,需要哪個就調用哪個。
好處二:使用者維護使用代碼,服務提供者維護服務代碼,兩者互不影響。package com.imooc.objectproject.sample3;
//張三開發的排序算法類
public class Algorithm {
? ? ? ? /*
? ? ? ? ?*傳入五個數,控制臺打印升序效果
? ? ? ? ?* @param a 第一個數
? ? ? ? ?* @param b 第二個數
? ? ? ? ?* @param c 第三個數
? ? ? ? ?* @param d 第四個數
? ? ? ? ?* @param e 第五個數
? ? ? ? ?*/
? ? ? ? public void sort(int a , int b , int c , int d , int e){
? ? ? ? ? ? //冒泡排序法
? ? ? ? ? ? int [] arr = {a,b,c,d,e} ;
? ? ? ? ? ? for(int i = 0;i < arr.length - 1;i++){
? ? ? ? ? ? ? ? for(int j =0;j < arr.length - 1 - i;j++){
? ? ? ? ? ? ? ? ? ? if(arr[j] > arr[j+1]){
? ? ? ? ? ? ? ? ? ? ? ? int temp = arr[j];
? ? ? ? ? ? ? ? ? ? ? ? arr[j] = arr[j+1];
? ? ? ? ? ? ? ? ? ? ? ? arr[j+1] = temp;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? for(int i = 0;i < arr.length;i++){
? ? ? ? ? ? ? ? System.out.println(arr[i] + " ");
? ? ? ? ? ? }
? ? }
? ? public static void main(String[] args) {
? ? ? ? Algorithm algorithm = new Algorithm();
? ? ? ? algorithm.sort(82,88,988,223,184);
? ? }
}
查看全部 -
格式化輸出:
%s是占位符,%-3s代表左對齊并且不
夠3個字符用空格補齊。
面向對象編程的概念:類與對象
世間萬物皆對象
類是對象的模板
類的特征與行為
對象是類的實例
面向對象的三大特征: 封裝、繼承、多態
開發天氣預報項目查看全部 -
ArrayList類
是數組替代品,提供更多數據操作方法
幾乎每個現代項目必用的類
查看全部 -
實現多態的關鍵是接口
接口(Interface)是一個抽象的類型,只提供方法的定義。
實現類是一個接口的具體實現,要實現接口中每一個方法的功能。
service進行封裝(用接口接收,不同參數返回不同實現類)
implements關鍵字
外部只用調用接口的方法(實例化service類,調用方法,傳入參數)
好比辦公人類用某臺打印機,使用打印功能,按了黑白打印。查看全部 -
訪問修飾符
public任何地方都可以訪問
private只能在當前類被訪問
(default)只能在同一個包中被訪問
protected只有繼承的子類可以訪問
實際中,人的銀行卡密碼應該只能自己訪問,人的名字應該任何人都可以訪問。
面向對象3大特征之一:封裝
現實中,肉類加工廠封裝了加工的過程、蘋果公司封裝了芯片技術實現的過程等
概念:
封裝就是隱藏功能的實現細節
對象和方法是實現封裝的直接途徑
良好的封裝使代碼更好的閱讀和維護
好處一:把常見的排序算法都封裝在一個類中,需要哪個就調用哪個。
好處二:使用者維護使用代碼,服務提供者維護服務代碼,兩者互不影響。
對成員變量進行讀寫封裝
一成員變量私有化
二getter讀和setter寫
步驟是code,generate,getter/setter
方法名中get和set后面所有單詞首字母大寫
this關鍵字表示當前這個對象的……
查看全部 -
類和對象的關系:
類是抽象的概念,是對象的模板
對象是具體的事物,是類的具體實例
面向對象編程:
利用程序的方式體現出現實生活中的類和對象
從已有現實的類中定義程序的類Class
從Class中創建(實例化)具體的的對象Object
創建類的方法:
public class 類名{
//類的內容}
類名: 每個單詞首字母大寫,有直白意義,用英文,不含數字于特殊符號HelloWorld
類名 對象名= new 類名()
new關鍵字是創建實際對象最重要的標志
對象名:首字母小寫,剩下單詞首字母大寫petDog
成員變量:
隸屬于對象的變量
描述對象的靜態特征
不同對象有相同的成員變量,但是值是相對獨立的。
方法Method是用于完成特定功能的整段代碼。
package包
//package關鍵字用于說明當前類歸屬于哪個包(如果類歸屬于哪個包了,必須說明)
//package后面的包名與實際存儲的目錄要保持一致
命名規則:域名后綴.組織機構名.項目名.(模塊名.)包的職能
包采用逆域名法,單詞全部小寫,用.分割
com.alibaba.taobao.customer.data
阿里巴巴公司下的淘寶項目下的客戶模塊下的數據包
使用其他包下的類,必須import導入
import 包名.類名查看全部 -
包-Package
??? 把功能相似或相關的類組織在同一個包中
??? 包也采用了樹形目錄的存儲方式
??? 通過包也可限定類的訪問權限
包的命名規范:
??? 包采用“逆域名法”進行命名 ,用“.”分割,單詞全部小寫。
??? 標準格式:域名后綴.組織機構名.項目名[模塊名].包的職能
包中類的引用:
??? 1.跨包引用,在package包聲明后加上import導入
??? 2.同一包下的不同類,在互相引用時不必導入查看全部 -
成員變量就是隸屬于對象的變量
成員變量用于保存對象的靜態特征
同類型的對象用于相同的成員變量,但值彼此獨立
查看全部 -
成員變量
????成員變量就是隸屬于對象的變量
????成員變量用于保存對象的靜態特征
????同類型的不同對象共擁有相同的成員變量,但值彼此獨立
例子:
????寵物犬有-->姓名/年齡/體重等特征
public?class?Dog{
????String?name;? ? ? ? ? ? ? ? ? ? ? ?注:成員變量要書寫在大括號中
????int?age;
????float?weight;
}成員變量的使用
Dog?duoduo?=?new?Dog();
duoduo.name?=?"多多";
duoduo.age??=?6;
duoduo.weight=12.5f;
Dog?lucky?=?new?Dog();
lucky.name?="Lucky";
lucky.age?=?3;
lucky.weight?=?10.2f;查看全部 -
實例化:從類 Class 創建具體的對象 Object
類名 對象名 = new 類名();
new關鍵字是創建實例對象的最重要的標志
類名:首字母大寫。對象名:首字母小寫
java創建類的語法
類名要有直白意義
首字母大寫不要數字開頭
不要包含特殊字符
查看全部 -
package com.imooc.objectproject.sample1;
public class Mark1 {
? ?protected String title;
? ?protected String color;
? ?protected String movie;
? ?public void description(){
? ? ? ?System.out.println("型號:"+title);
? ? ? ?System.out.println("顏色:"+color);
? ? ? ?System.out.println("首次出現電影:"+movie);
? ?}
? ?private void fire(){
? ? ? ?System.out.println("利用手臂燃料泵射出火焰");
? ?}
? ?public static void main(String[] args) {
? ? ? ?Mark1 mark1=new Mark1();
? ? ? ?mark1.color="銀灰色";
? ? ? ?mark1.movie="鋼鐵俠1";
? ? ? ?mark1.title="馬克1型";
? ? ? ?mark1.description();
? ? ? ?mark1.fire();
? ?}
}查看全部
舉報