----  开发方法

结构化开发方法特点:

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

  2、自顶而下

  3、最小的子系统是方法

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

面向对象开发方法特点:

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

  2、系统结构较稳定

  3、子系统相对独立

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

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

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

对象的特征  ----  属性

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

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

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

对象的特征 ---   方法

方法: 对象执行的操作

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

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

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

-----    类和对象

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

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

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

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

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

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

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

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

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

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

----   java 类的模板

定义类的步邹:

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

public class 类名{

  属性类型 属性1;

  方法1;

}

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

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

----  类图

使用类图来描述类

  工具: visio  rose

  目的: 为了分析和设计类

好处 : 直观、容易理解

---- 创建和使用对象

使用对象的步邹:

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

  如: School school = new Shcool();

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

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

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

  1. school.name = "坡里中学"; // 给name 属性赋值
  2. 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. public double getSum(double num1,double num2,double num3){
  7. return num1+num2+num3;
  8. }
  9.  
  10. public static void main(String[] args) {
  11. Calc calc=new Calc();
  12. System.out.println(calc.getSum(67, 89));
  13. System.out.println(calc.getSum(67, 89,78.4));
  14. }
  15. }

---  查找学员信息

  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]+"\t");
  29. }
  30. }
  31. System.out.println();
  32. }
  33.  
  34. /**
  35. * 在一定区间查找学生姓名
  36. * @param start 开始位置
  37. * @param end 结束位置
  38. * @param name 查找的姓名
  39. * @return find 是否查找成功
  40. */
  41. public boolean searchName(int start,int end,String name){
  42. boolean find = false; // 是否找到标识
  43.  
  44. // 指定区间数组中,查找姓名
  45. for(int i=start-1;i<end;i++){
  46. if(names[i].equals(name)){
  47. find=true;
  48. break;
  49. }
  50. }
  51. return find;
  52. }
  53. }
  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("\n请输入开始查找的位置:");
  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("\n*****查找结果*****");
  23. if(st.searchName(s,e,name)){
  24. System.out.println("找到了!");
  25. }
  26. else{
  27. System.out.println("没找到该学生!");
  28. }
  29. }
  30. }

java ---- 认识类和对象的更多相关文章

  1. 第31节:Java基础-类与对象

    前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包,访问权限,类的继承,继承性,方法的重写,super变量. 方法的重载:成员方法的重载 ...

  2. Java面向对象-类与对象

    Java面向对象-类与对象 类与对象的关系 我们通俗的举个例子,比如人类是一种类,张三这个人就是人类的具体的一个个体,也就是java中的对象:这就是一个类与对象的关系: 类的定义 下面看实例 类的创建 ...

  3. 关于Java构造类与对象的思考

    简单记录一下Java构造类与对象时的流程以及this和super对于特殊例子的分析. 首先,接着昨天的问题,我做出了几个变形: Pic1.原版: Pic2.去掉了T.foo方法中的this关键字: P ...

  4. JAVA基础——类和对象

    java类与对象学习笔记 一.成员变量和局部变量 (1)定义 1.成员变量 在类中定义,用来描述对象将要有什么.(默认的成员变量值为0) 2.局部变量 在类的方法中定义,在方法中临时保存数据. 演示示 ...

  5. java(9)类和对象

    一.理解什么是类和对象 万事万物皆对象 1.1.属性——对象具有的特征(特点) 1.2.方法——对象可执行的操作(能干什么事) 1.3.对象的定义: 是一个客观存在的,看的见或摸得着的实体,由属性和方 ...

  6. Java面向对象——类,对象和方法

    1.类的概念 在生活中,说到类,可以联想到类别,同类,会想到一类人,一类事物等等.而这一类人或事物都是具有相同特征或特点和行为的,我们根据不同的特征或特点和行为将他们归类或分类.同时,当我们认识一个新 ...

  7. Java学习——类与对象

    在学习面向对象之前首先我们要理解一下几点: 什么是面向对象 对象的概念 类 类与对象的关系/区别 什么是对象的属性 什么是对象的方法 什么是面向对象.对象.类 讲到面向对象就不得提到面向过程,早期的计 ...

  8. Java面向对象类与对象整理

    第一章           面向对象: 1.1         什么是面向过程: 遇到某件事的时候,思考 “我该怎么做”然后一步一步实现的过程 1.2         什么是面向对象: 遇到某件事的时 ...

  9. java笔记 -- 类与对象

    封装: 从形式上看, 封装是将数据和行为组合在一个包中, 并对对象的使用者隐藏了数据的实现方式. 对象中的数据称为实例域, 操纵数据的过程称为方法. 对于每个特定的类实例(对象)都有一组特定的实例域值 ...

  10. Java:类与对象概念

      什么是类? 怎样定义一个类? 什么是对象,类和对象之间是什么关系,怎样创建一个对象? 对象引用和对象在内存中是如何分配的? 什么是类? 1. 类是具有相同的属性和功能的事物的抽象的集合,在面向对象 ...

随机推荐

  1. js 数组去重总结

    es6 set ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. let arr = [1,2,3,4,3,2,3,4,6,7,6]; let unique = ...

  2. Vue – 基础学习(4):事件修饰符

    Vue – 基础学习(3):事件修饰符

  3. Object-C学习之NSSet和NSMutableSet

    转自:http://blog.csdn.net/likandmydeer/article/details/7939749 一.简介 集合(set)是一组单值对象,它可以是固定的(NSSet).也可以是 ...

  4. 26.Apache Solr RCE

    多事之秋,刚爆出来shiro的RCE,紧接着solr服务器就出了RCE 自从漏洞爆出来已经一段时间,复现漏洞多如牛毛,我这里来水一篇 漏洞简介 什么是solr服务器? Solr是一个独立的企业级搜索应 ...

  5. jq node.js bootstrap

    1.node.js 网址:https://nodejs.org/en/ 用来通过下载node.js 来引用里面的npm 来实现对外部项目的下载 1.安装nodejs 自带了npm npm instal ...

  6. cmd 计划任务

    Schtasks /create /sc ScheduleType /tn TaskName /tr TaskRun [/s Computer [/u [Domain\]User [/p Passwo ...

  7. Mac 键盘符号说明

    Mac 键盘符号说明 ⌘ == Command ⇧ == Shift ⇪ == Caps Lock ⌥ == Option ⌃ == Control ↩ == Return/Enter ⌫ == De ...

  8. C++中typedef和define的区别

    typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...

  9. jQyery简史和下载引用方法

    1.jQuery简介 jQuery是一个快速,小型且功能丰富的JavaScript库.借助易于使用的API(可在多种浏览器中使用),使HTML文档的遍历和操作,事件处理,动画和Ajax等事情变得更加简 ...

  10. java 补充(final、static)

    final 固定的 final  修饰类的时候,只能作为子类继承,不能作为父类. final 定义变量时,必须给成员变量赋值.------  1.直接赋值  2.构造方法. final 修饰成员方法时 ...