zoukankan      html  css  js  c++  java
  • java ---- 认识类和对象

    ----  开发方法

    结构化开发方法特点:

      1、面向功能划分软件结构

      2、自顶而下

      3、最小的子系统是方法

      4、制约了软件的可维护性和扩展性

    面向对象开发方法特点:

      1、把软件系统看成各种对象和集合

      2、系统结构较稳定

      3、子系统相对独立

      4、软件可重用性、可维护性和扩展性强

    ----   面向对象程序设计(object  Oriented programming 简称OOP)

    对象: 用来描述客观事物的一个实体,由一组属性和方法组成

    对象的特征  ----  属性

    属性   ---   对象具有的各种特征

    每个对象的每个属性都拥有特定的值

    比如:英雄周瑜的属性: 姓名  血量   蓝量等。

    对象的特征 ---   方法

     方法: 对象执行的操作

     比如:英雄周瑜的方法: 攻击其他英雄,攻击防御塔,帮助队友加速等

    -----  列出小猫的属性和方法

    属性有: 颜色、品种     方法有:跑、叫、咬

    -----    类和对象

     类  :    具有相同属性和方法的一种对象的集合,

    关系: 类是对象的抽象,对象是类的具体。

    类是抽象的概念,仅仅是模板,比如:“人”

    对象是一个可以看得到、摸得着的具体实体

     就像人有体重身高 行为有吃喝衣住,

    而对于小明这个对象来说他有180 的身高130 的体重会吃苹果住在翻斗大街102栋

    ----   java是面向对象的语言

    所有的java程序都是以类class为组织单元

    关键字是class定义的自定义的数据类型

    public class HelloWorld{
         public static void main(String[] args){
              System.out.println("你好帅");   
        }  
    }

    ----   java 类的模板

    定义类的步邹:

      1、定义类名   2、编写类的属性  3、编写类的方法

    public class 类名{

      属性类型 属性1;

      方法1;

    }

    要遵循帕斯卡命名规则  类的第一个首字母要大写

    属性也叫成员变量   方法也叫成员方法

    ----  类图

    使用类图来描述类  

      工具: visio  rose

      目的: 为了分析和设计类

           好处 : 直观、容易理解

     

     

     ---- 创建和使用对象

    使用对象的步邹:

      1、创建对象: 类名 对象名  =  new 类名();

      如: School school = new Shcool();

      2、引用对象成员:使用“ . ”  来进行操作

        引用类的属性:对象名. 属性

        引用类的方法: 对象名.方法名

    school.name = "坡里中学";     // 给name 属性赋值
    school.show();          // 调用show() 方法

    -----  类的方法

    方法性一个黑匣子,完成某个特定的应用程序功能,并返回结果

    类的方法定义类的某种行为(或功能)

     

    ---- 方法 的返回值

    如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该值的类型

    返回值只能有一个,如果没有返回值,返回类型为void

    在方法中使用return时 就以会跳出这个方法,如果有返回值只能返回一个值

    没有返回值就不用了在使用返回值进行接收

    ------  方法调用

    方法之间允许相互调用,不需要知道方法的具体实现,实现重用提高效率

     

    -----  制作一个简单计算器

     1 public class Calc {
     2     public int getSum(int num1,int num2){
     3         return num1+num2;
     4     }
     5     
     6     
     7     public double getSum(double num1,double num2,double num3){
     8         return num1+num2+num3;
     9     }
    10     
    11     public static void main(String[] args) {
    12         Calc calc=new Calc();
    13         System.out.println(calc.getSum(67, 89));
    14         System.out.println(calc.getSum(67, 89,78.4));
    15     }
    16 }

    ---  查找学员信息

     1 /**
     2  * 
     3  * 实现学生信息的管理 
     4  *
     5  */
     6 public class StudentsBiz {
     7     String[] names = new String[30];  // 学员姓名数组
     8     
     9     /**
    10      * 增加学生姓名
    11      * @param name要增加的姓名
    12      */
    13     public void addName(String name){
    14         for(int i =0;i<names.length;i++){
    15             if(names[i]==null){
    16                 names[i]=name;
    17                 break;
    18             }
    19         }
    20     }
    21     /**
    22      * 显示本班的学生姓名
    23      */
    24     public void showNames(){
    25         System.out.println("本班学生列表:");
    26         for(int i =0;i<names.length;i++){
    27             if(names[i]!=null){
    28                 System.out.print(names[i]+"	");
    29             }
    30         }
    31         System.out.println();
    32     }
    33     
    34     
    35     /**
    36      * 在一定区间查找学生姓名
    37      * @param start 开始位置
    38      * @param end 结束位置
    39      * @param name 查找的姓名
    40      * @return find 是否查找成功
    41      */
    42     public boolean searchName(int start,int end,String name){
    43         boolean find = false;  // 是否找到标识
    44         
    45         // 指定区间数组中,查找姓名
    46         for(int i=start-1;i<end;i++){
    47             if(names[i].equals(name)){                
    48                 find=true;
    49                 break;
    50             }
    51         }
    52         return find;
    53     }
    54 }
     1 import java.util.Scanner;
     2 
     3 public class TestSearch {
     4         /**
     5          * 调用带3个参数的方法
     6          */
     7         public static void main(String[] args) {
     8             StudentsBiz st = new StudentsBiz();
     9             Scanner input = new Scanner(System.in);
    10             for(int i=0;i<5;i++){
    11                 System.out.print("请输入学生姓名:");
    12                 String newName = input.next();        
    13                 st.addName(newName);
    14             }        
    15             st.showNames();                
    16             System.out.print("
    请输入开始查找的位置:");
    17             int s = input.nextInt();
    18             System.out.print("请输入结束查找的位置:");
    19             int e = input.nextInt();
    20             System.out.print("请输入查找的姓名:");
    21             String name = input.next();
    22             System.out.println("
    *****查找结果*****");
    23             if(st.searchName(s,e,name)){
    24                 System.out.println("找到了!");
    25             }
    26             else{
    27                 System.out.println("没找到该学生!");
    28             }
    29     }
    30 }
  • 相关阅读:
    Logstash:input plugin 介绍
    Beats:使用Elastic Stack对Redis监控
    Elastic:Elasticsearch的分片管理策略
    Beats:使用Elastic Stack对Nginx Web服务器监控
    Beats:使用Elastic Stack监控RabbitMQ
    Elasticsearch启动https访问
    Elasticsearch:跨集群复制 Cross-cluster replication(CCR)
    Logstash: 如何创建可维护和可重用的Logstash管道
    Solutions:Elastic workplace 搜索:随时随地搜索所有内容 (二)
    Solutions:Elastic workplace 搜索:随时随地搜索所有内容 (一)
  • 原文地址:https://www.cnblogs.com/obge/p/10872855.html
Copyright © 2011-2022 走看看