`
929118967
  • 浏览: 22250 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
博客专栏
Fcebf22e-9505-38db-b3f2-65fdcc3fd6a5
java开发的深入浅出
浏览量:7174
文章分类
社区版块
存档分类
最新评论

J2SE笔记之方法

 
阅读更多

前言


决定一张照片的好坏是后面的头脑而不是器材。接下来讲述java中的方法解析。
本文讲述方法的理论和方法的案例。在将方法之前,我先说一下我的学习java的方法;我是先理解了方法与方法之间的关系,主要是他们之间的执行顺序和调用关系。
通过一个练习加强理解,进而继续理解类与类的关系,最后理解包与包的关系。

方法 理论

定义语法

修饰符 返回值 方法名(参数列表){

return 值 //值的类型一定要与返回值的类型匹配

}

调用语法

方法名 (值1,值2);

注:a.方法调用的传值,值的类型应与定义对应位置类型一致;方法没有返回值,使用void关键字占位,可以不需要返回值,如果需要返回值 return;

b.java只有一种传值方式,就是值传递。

形参:在方法定义时,存在于参数列表中的变量

作用:用来接收来自实参所传递的值。

实参:在方法调用时,存在参数列表的值或变量。

作用:传值给形参。

注:Scanner :提供用户输入管道,下面案例要使用的方法。

import java.util.Scanner;

Scanner sc=new Scanner(System.in);

api方法:

long nextLong() 阻塞方法,用户必须输入数据,程序才继续执行

String next() 从控制台读取字符串(不允许带空白:\t ;)

String nextLine() 从控制台读取字符串(允许带空白)

注:在使用nextLine时,需要独立创一个管道,否则,nextLine()就会将上次的输入的回车记录为用户输入的字符串。

所有的方法都直接或者间接的被main方法调用;main方法是应用程序的入口点。

案例

在讲解试卷系统之前,先来讲讲需要补充的UML语言。

1.知识的补充:类的3种关系

在画UML 图的类图(Class Diagram)时,要先了解一下类的3种关系:

注:UML使用类图表示类,接口以及关联。类图用于静态建模。类图由3部分组成(类名,属性,操作),示例图如图1-1

在UML中,事物之间相互联系的方式(无论是逻辑上的还是物理上的)都被建模为关系。在面向对象的建模中,有3中重要的关系:依赖,关联和泛化。

1)依赖(dependency)是使用关系。例如,水管依赖热水器,对它们所运送的水进行加热。说明一个事物使用另一个事物的信息和服务。

示例图1-2:


2)关联(association)是实例之间的结构关系。例如,一个房间是由墙和一些其他事物组成的,墙上可以嵌套门和窗,管道可以穿通墙体。

类之间的关联关系大多用来表示变量实例持有着其他对象的引用。

这时我想起了一句话:编程来源于生活,理解了生活,就理解编程。

1))具体的示例:


其中,还有聚合与组合都是关联的一种特殊形式。聚合它意味着整体和部分的关系;而组合是一种特殊的聚合形式。

3)泛化(generalization),把一般类连接到较为特殊的类,也称为超类和子类关系。称为is-a-kind-of关系。

例如,观景窗是一种带有固定的大窗格的窗户,庭院是一种带有向两边开的窗格的窗户。

示例图1-3


2.案例实现

需求是使用方法之间的调用关系,来完成一个试卷系统。该试卷系统有试卷Paper类,Choice抽象类,以及Choice的两个子类MultChoice和SingleChoice类。
实现一个可以在控制台录入当选题和多选题,并答题的系统。
他们之间的UML由于较简单,就不画了。具体可参照下面的Code实现。
<script src="https://code.csdn.net/snippets/270346.js" type="text/javascript"></script>
<script src="https://code.csdn.net/snippets/270349.js" type="text/javascript"></script>
<script src="https://code.csdn.net/snippets/270354.js" type="text/javascript"></script>
<script src="https://code.csdn.net/snippets/270362.js" type="text/javascript"></script>
<script src="https://code.csdn.net/snippets/270366.js" type="text/javascript"></script>

总结

方法:用来表示对象的功能,它依赖于对象而存在。方法是动作,一般使用动词来声明

关于UML的保留和舍弃

养成舍弃UML图的习惯吧,最好,养成不要把图建立在能长期保存的介质上的习惯。在一个白板或一个草稿纸上画它们,经常擦掉白板或舍弃草稿纸。一个原则就是不使用Case工具或画图工具。这些工具只用一次即可,你的大多数UML图都是短命的。
但有一些图保存下来是非常有用的:
1.表现你的系统中一个通用设计解决方案图
2.记录了复杂的协议,难以通过代码了解的图
3.提供了比较少涉及到的系统范围的“路标图“的图
4.记录了比代码更易表述的设计意图的图。

使用UML的场景

1.作为草图-与他人交流设计方案,来指导更详细的设计或编码人员进行开发
2.作为编程蓝图和详细设计指导
3.作为系统结果的road map ,这种脉络图可以使开发者快速找到类之间的依赖关系,并提供系统结构的参考。
4.作为代码的逆向工程图——帮助代码维护人员,阅读、分析和检查代码,快速了解代码结构。
5.在理论、工具和可用性方面处于发展阶段:把UML作为编程语言,即基于UML模型驱动(MDA),用UML全程建模,完成软件系统可执行规格说明,代码自动生成。

建模语言UML

UML主要用于沟通,是大家熟悉认同的语言而已。面向对象分析和设计来源于设计者的头脑,重点是设计者的思想和理念。
比如,决定一张照片的好坏是后面的头脑而不是器材

敏捷开发工程

1.定义用例:需求分析可能包括人们如何使用应用的情节或场景
2.定义领域模型:面向对象的分析关注领域的概念,属性和关联来形成OOA结果领域模型(domain model),在领域模型中展示重要的领域对象。
3.分配对象职责,并绘制交互图:ood关注软件对象的定义-它们的职责和协作。
注:顺序图(sequence diagram)是描述协作的常见表达方式,它展示了软件对象之间的消息流,和由消息引起的方法调用
4.定义设计类:使用设计类来表示有效类定义的静态视图,重点描述类的属性和方法。


分享到:
评论

相关推荐

    李兴华j2se不分的所有笔记

    李兴华的J2SE笔记集合了魔乐科技的丰富教学资源,覆盖了Java学习的关键知识点,对于Java初学者或进阶者来说,是不可多得的学习资料。 一、Java基础篇 1. 第3章:Java基础程序设计 - 运算符、表达式与语句笔记:...

    j2se学习笔记——课堂笔记

    综上所述,J2SE的学习笔记涵盖了接口的重要概念,包括接口的定义、语法、实现、继承、多态性以及Java 8中的默认方法和函数式接口。在实际编程中,理解和熟练运用这些知识点对于提升Java编程能力至关重要。同时,通过...

    李兴华J2SE笔记(完整版)

    《李兴华J2SE笔记(完整版)》是一份专为Java初学者及开发者编写的详尽教程,旨在帮助读者快速掌握Java编程基础,并深入理解J2SE(Java Standard Edition)的核心概念。这份笔记由李兴华先生精心编写,以其丰富的...

    Java-J2SE学习笔记

    Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记Java-J2SE学习笔记

    J2se笔记本程序源码

    【标题】"J2se笔记本程序源码"揭示了这个项目是基于Java 2 Standard Edition (J2SE) 平台开发的一个简单的文本编辑器应用。J2SE是Java编程语言的核心部分,提供了构建桌面应用程序所需的类库和API。这个程序源码可以...

    j2se学习笔记.doc

    本篇学习笔记将深入探讨J2SE中的面向对象特性、关键字、访问控制以及多态等核心概念。 **面向对象**: 面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它以对象为中心,强调数据和操作数据的...

    J2SE笔记讲解个人修订(1.1).docx

    ### Java 认识 #### 概念区分与版本发展 ...通过上述内容,我们可以看出 J2SE 笔记涵盖了 Java 的基础知识和技术要点,从语言特性到设计模式等多个方面进行了全面介绍。对于初学者来说,这是一个很好的起点。

    J2SE全套笔记(非常经典)

    这份“J2SE全套笔记”涵盖了从基础到高级的广泛主题,旨在帮助学习者全面理解Java编程语言。 笔记内容可能包括以下几个主要部分: 1. **Java基础**:这部分会介绍Java的基本语法,如变量、数据类型、运算符、流程...

    J2SE,J2EE学习笔记

    在描述中提到,这份笔记特别注重J2SE的基础知识,这对于初学者来说尤其有价值。基础部分可能涵盖以下内容: - **基本语法**:包括变量、数据类型、运算符、控制结构(如if-else、switch、循环)、异常处理等。 - *...

    J2se学习笔记

    以下是对 J2SE 学习笔记中的关键知识点的详细解释: **第二课时** 1. **Java 注释**: 注释是用于提高代码可读性的非执行文本。在Java中,有三种类型的注释: - 单行注释:`// 这是单行注释` - 多行注释:`/* 这是...

    J2SE学习笔记(学习源码)

    J2SE学习实例 1、Java的基础知识 2、Java面向对象 3、集合Collection的使用 4、IO使用 5、Socket编程 6、Thread线程技术 7、Subject反射技术 8、GUI图形编程

    j2se学习笔记和java学习笔记

    本学习笔记旨在深入理解J2SE的基础概念、核心特性以及实际应用。 一、Java基础 Java是一种面向对象的编程语言,由Sun Microsystems(现已被Oracle收购)于1995年发布。它的主要特点包括跨平台性(Write Once, Run ...

    张孝祥J2SE加强自学笔记(48-56)

    【张孝祥J2SE加强自学笔记(48-56)】主要涵盖了类加载器、代理类和动态类创建等Java核心知识点。 48、类加载器的问题实验分析: 在Java中,类加载器是负责查找并加载类的机制。在Web应用中,有多种类加载器,如...

    J2SE学习笔记(思维导图版本)

    马士兵老师讲解J2SE视频的相关笔记内容,通过思维导图的形式对主要内容进行整理.方面对相关知识的回顾和查找.文档需要通过专门的思维导图软件(Mindmanager)打开.

    java j2se部分笔记

    Java J2SE(Java Standard Edition)是Java平台的...以上是Java J2SE的一些核心知识点,这份笔记可能详细地讲解了这些内容,包括每个概念的原理、使用方法及示例代码,旨在帮助开发者全面理解并熟练运用Java进行开发。

    j2se学习笔记

    【J2SE学习笔记】 Java 2 Standard Edition (J2SE)是Java平台的一个核心组件,主要用于桌面应用程序的开发。J2SE包含了运行和开发Java应用程序所需的全部工具和API。这个学习笔记涵盖了J2SE的基础知识,包括编程...

Global site tag (gtag.js) - Google Analytics