博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象(java菜鸟的课堂笔记)
阅读量:5254 次
发布时间:2019-06-14

本文共 5052 字,大约阅读时间需要 16 分钟。

类:相同的东西放在一起
分为属性和动作;
把一组或多组事物相同的特性的描述==》类
 
属性和动作被称为成员:
//声明类的属性信息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(***)
 
ArrayIndexOutofBoundsException
NumberFarmatException 数字格式化异常
 
异常捕获:
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");  //定义一个输出方式  }}

转载于:https://www.cnblogs.com/qihongbao/p/6766899.html

你可能感兴趣的文章
Healthy Holsteins_usaco2.1.4_codevs2044_dfs
查看>>
发布一个.NET正则表达式测试站点
查看>>
malloc函数详解
查看>>
poj 2443 Set Operation 位运算
查看>>
java.lang.ExceptionInInitializerError
查看>>
Laravel使用Form(转载)
查看>>
easy UI
查看>>
Java static的使用 --Java笔记
查看>>
博客园自定义地址栏logo
查看>>
单例模式(Singleton)
查看>>
首次关于IIS配置遇到的一些问题
查看>>
201621123027 Week02-Java基本语法与类库
查看>>
SSH 密钥登录 SecureCRT
查看>>
Dubbo框架——整体架构
查看>>
简述KVM架构和Xen架构
查看>>
利用高级计划排程系统(APS)进行供应链的优化
查看>>
PHP SOCKE实现聊天系统
查看>>
课程总结
查看>>
vue 解决跨域
查看>>
单调队列 I
查看>>