物件導向(java菜鳥的課堂筆記),java課堂筆記

來源:互聯網
上載者:User

物件導向(java菜鳥的課堂筆記),java課堂筆記
類:相同的東西放在一起分為屬性和動作;把一組或多組事物相同的特性的描述==》類 屬性和動作被稱為成員://聲明類的屬性資訊public class **{String name;int age;char sex;}//聲明類的動作資訊(要在屬性資訊裡面)public void eat(){System.out.println("eating");}public void study(){System.out.println("study");}public void playgame(){System.out.println("playing");}類==》抽象化類當中的個體才能進行實際的操作 抽象化過程對象==》類具象化過程類==》對象 物件導向==面向具象化的類; 產生對象(主類中)student student1 = new student();給對象賦值(主類中)student.name = "***"; 構造器:執行個體化的時候自己調用構造器名字必須和類名一致,並且沒有傳回值類型; static 靜態類層級的屬性 static int ***;被static 修飾的方法叫靜態方法 只能調用靜態屬性; 匿名對象 只能進行一次調用this.代表當前類本身 java 對象也可以增刪改查調用方法可以調用自己 用來迴圈;flage 開關;public 公用的 共有private 私人 僅自己訪問protected 子類和父類共有 外部禁止訪問extends 繼承將兩個類共有的部分抽離出來 過程叫泛化抽離出來的類叫父類 被抽離的類叫做子類子類繼承父類元素 使用 extends ;從父類分到子類叫做特化;所有類預設繼承Object類;一個類只能直接繼承一個父類 ;分為間接繼承和直接繼承 ;間接繼承繼承父類的父類;方法的複寫 相當於擴充父類的成員;有相同的屬性時 顯示子類的,父類將被覆蓋;除非聲明調用父類;先調用父類構造器,後調用子類構造器;super()調用父類構造器,必須寫在第一行;寫在子類構造器裡面; instanceof (強轉換時使用)判斷是不是某個類;複寫規則:(子類)一同兩小一大this ();調用在有參構造器中調用無參構造器 (必須寫在第一行) 將其他類型轉換成int;如果有轉換不了的報數字格式化異常int ** = Integer.parseInt(***) ArrayIndexOutofBoundsExceptionNumberFarmatException 數字格式化異常 異常捕獲:try{}catch(Exception e){}String * = i+" ";轉換成String型 餓漢模式懶漢模式final定義的變數變為常量;下面做一個超市的管理系統:

import java.util.*;                          //調包
public class Main{                          //建一個主類
  static Scanner sc = new Scanner(System.in);
  static int i = 0;
  static Chaoshi[] shop = new Chaoshi[100];
  public static void main(String[] args){              //主入口
    menu();                           //調用菜單方法
  }
  public static void menu(){                    //定義一個菜單方法
    System.out.println("============================");
    System.out.println("》歡迎進入超市庫存統計系統《");
    System.out.println("=》 請輸入對應數字進行操作《");
    System.out.println("=======》 1,進貨儲存 《");
    System.out.println("=======》 2,修改資訊 《");
    System.out.println("=======》 3,查詢庫存 《");
    System.out.println("=======》 4,退出作業系統 《");
    System.out.println("============================");
    int a = sc.nextInt();                      //使用者輸入
    switch (a){
      case 1:adds(); break;
      case 2:update(); break;
      case 3:select(); break;
      case 4:exit(); break;
      default:System.out.println("====輸入有誤,請重新輸入====");
      menu();
      break;
    }
  }
  public static void adds(){                      //定義一個存貨方法
    System.out.println("=========請輸入貨物名稱=========");
    String sname = sc.next();
    System.out.println("=========請輸入貨物類型=========");
    String sclass = sc.next();
    System.out.println("=========請輸入貨物價格=========");
    String sprice = sc.next();
    System.out.println("=========請輸入貨物數量=========");
    String snum = sc.next();
    Chaoshi shop1 = new Chaoshi(sname,sclass,sprice,snum);
    shop[i] = shop1;
    i++;
    System.out.println("輸入成功,繼續輸入(1),返回菜單(2)");
    int flage = sc.nextInt();
    if(flage==1){
      adds();
    }else menu();
  }
  public static void update(){                      //定義一個修改方法
    System.out.println("請輸入商品名稱,為您修改");
    String b = sc.next();
    for(i=0;i<100;i++){
      if(b.equals(shop[i].sname)){
        System.out.println("===================查詢結果如下===================");
        shop[i].say();
        System.out.println("=========請輸入修改後貨物名稱=========");
        String sname = sc.next();
        System.out.println("=========請輸入修改後貨物類型=========");
        String sclass = sc.next();
        System.out.println("=========請輸入修改後貨物價格=========");
        String sprice = sc.next();
        System.out.println("=========請輸入修改後貨物數量=========");
        String snum = sc.next();
        Chaoshi shop1 = new Chaoshi(sname,sclass,sprice,snum);
        shop[i] = shop1;
        System.out.println("繼續修改(1),返回菜單(2)");
        int flage = sc.nextInt();
        if(flage==1){
          update();
        }else menu();
      }
    }
  }
  public static void select(){                      //定義一個查詢方法
    System.out.println("指定查詢(1),全部查詢(2)");
    int a = sc.nextInt();
    if(a==1){
      System.out.println("請輸入商品名稱,為您查詢");
      String b = sc.next();
      for(i=0;i<100;i++){
        if(b.equals(shop[i].sname)){
          System.out.println("===================查詢結果如下===================");
          shop[i].say();
          System.out.println("繼續查詢(1),返回菜單(2)");
          int flage = sc.nextInt();
          if(flage==1){
            select();
          }else menu();
        }
      }
    }else{
      for(Chaoshi s:shop){
        if(s!=null){
        s.say();
        }
      }
      System.out.println("繼續查詢(1),返回菜單(2)");
      int flage = sc.nextInt();
       if(flage==1){
        select();
      }else menu();
    }
  }
  public static void exit(){                      //定義一個退出方法
  System.out.println("===》》》您已退出作業系統《《《===");
  System.exit(0);
  }
}

public class Chaoshi{                          //建立一個超市類
  String sname;
  String sclass;
  String sprice;
  String snum;
  public Chaoshi(String sname,String sclass,String sprice,String snum){
    this.sname = sname;
    this.sclass = sclass;
    this.sprice = sprice;
    this.snum = snum;
  }
  public void say(){
    System.out.println("名稱:"+sname+"\n種類:"+sclass+"\n價格:"+sprice+"\n數量:"+snum+"\n");  //定義一個輸出方式
  }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.