Java11-java基础语法(十)类设计综合案例
Java11-java语法基础(十)类设计综合案例
一、类综合设计方法
1、类设计步骤
(1)分析数据成员
(2)分析成员方法和构造方法
(3)画出类图
(4)编码测试
2、具体问题
1)分析数据成员
(1)访问控制修饰符
(2)数据成员名称的定义
(3)数据成员类型的定义
(4)初始值
|
序号 |
访问控制修饰符 |
数据成员类型 |
数据成员名称 |
说明 |
|
1 |
private |
String |
studentId |
学号 |
|
2 |
private |
String |
name |
姓名 |
|
3 |
private |
double |
score |
成绩 |
|
…… |
…… |
…… |
…… |
…… |
2)分析构造方法和成员方法
(1)构造方法用来初始化对象:
使用三个构造方法:空构造方法,基本信息,全部信息。具体如下图

(2)成员方法表示成员的动态特征,即对象的行为,包括setters、getters和功能方法。
3)画出类图
利用UML工具分析数据成员和成员方法画出类结构图
- studentId:String(“-”表示私有的private)
+ getStudentId:String(“+”表示公有的public)
o setStudentClass:void(“o”表示protected)
软件:powerdesigner
PowerDesigner使用方法
1、file---new Model---Model types---OOM---Class Diagram,在下边命名,语言为java
2、右侧---toolbox---Class Diagram---class(第二个图标)
二、static关键字
一个类产生实例化对象时,将分别开辟栈内存和堆内存,栈内存存放对象名称,堆内存存放对象的数据成员。
1、应用
1)修饰数据成员,成为类成员,也称静态成员,数据成员被该类的所有对象所共享。
定义:static 数据类型 数据成员名;
访问:类名.静态成员;
2)修饰成员方法,成员方法可以直接被类调用
3)修饰代码块,在对象实例化时这些代码块被执行。
强调:
(1)通过对象名.静态成员可以访问对象,但一旦更改某个对象的静态属性,其他对象的该静态属性也会改变。
(2)静态方法只能调用静态数据成员,不能调用非静态数据成员。
(3)非静态方法可以访问调用静态成员和方法,也可以访问调用非静态数据成员和方法。

2)静态代码块/静态初始化块:只会在类加载时初始化一次
static{
初始化内容
}
2、原理:JVM初始化对象的过程

3、main方法

四、对象数组
声明:类名[] 对象名 = new 类名[数组长度];
赋值:类名[] 对象名 = {};
Java11-java基础语法(十)类设计综合案例的更多相关文章
- Java基础语法 - 面向对象 - 类的主方法main方法
主方法是类的入口点,它指定了程序从何处开始,提供对程序流向的控制.Java编译器通过主方法来执行程序. 主方法的语法如下: /* a.主方法是静态的,如果要直接在主方法中调用其它方法,则该方法必须也是 ...
- Java基础语法<十二> 泛型程序设计
1 意义 泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用. 常见应用 : ArrayList 2 K T V E ? object等的含义 类型变量使用大写形式 E – Element ( ...
- Java基础语法<十> Jar文件
1 JAR文件 java归档文件,压缩的 jdk/bin jar工具制作jar文件 jar程序选项 1.1清单文件 ...
- Java基础语法(自定义类、ArrayList集合)
Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...
- 075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现
075 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 07 综合案例-数组移位-主方法功能4的实现 本文知识点:综合案例-数组移位-主方法功能4的实现 说明:因为 ...
- 074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现
074 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 06 综合案例-数组移位-主方法功能3的实现 本文知识点:综合案例-数组移位-主方法功能3的实现 说明:因为 ...
- 073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现
073 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 05 综合案例-数组移位-主方法功能1和2的实现 本文知识点:综合案例-数组移位-主方法功能1和2的实现 说 ...
- 072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法
072 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 04 综合案例-数组移位-在指定位置处插入数据方法 本文知识点:综合案例-数组移位-在指定位置处插入数据方法 ...
- 071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法
071 01 Android 零基础入门 01 Java基础语法 09 综合案例-数组移位 03 综合案例-数组移位-显示数组当中所有元素的的方法 本文知识点:综合案例-数组移位-显示数组当中所有元素 ...
随机推荐
- es6初级之解构----之二 及 键值反转实现
1.解构: 不定参数,扩展表达式 let arr = [100, 201, 303, 911]; let [one, ...others] = arr; console.log(others.leng ...
- (FireDAC) 连接定义
Defining Connection (FireDAC) 连接定义就是应用程序使用特定的FireDAC驱动连接数据库的参数集合.相当于BDE的别名,ADO的UDL,或者ODBC的DSN. For ...
- Array.Resize(ref arry, size);
数组原来的内容不变,后面添加新的空间. 内部操作应该是:重新分配了一块空间,然后将旧的内容拷过去
- shell字符串基本操作
shell脚本中一切变量皆字符串,所以必须掌握字符串的常用处理方法.比如获取字符串长度.获取字符串指定位置字符.替换字符串中的指定字符或者删除某些字符等操作. 1.字符串操作列表 (1)var=val ...
- OpenWrt上搭建纯L2TP服务器[ZT]
转自:http://www.openwrt.pro/post-389.html 纯L2TP(l2tp + ppp,无IPSec) 首先安装xl2tpd软件包 opkg update opkg inst ...
- 知识点6: v-for列表循环
效果图: 只手写了第一个dom: 剩下4个dom由v-for生成. html <div class="item" id="item"> <di ...
- week05 05restful api
和第一个项目一样 然后去App.js注册一下 但是呢 新闻是写死在 现在主要输调通前端client和后端server 持续获取新闻 至于真假先不考虑 下面我们回到前端NewsPanel 这个reque ...
- 指向字符串的指针和char类型的数组
指针数组的效率比二维字符数组的效率高 指针数组不能修改字符串字面量,而二维字符数组中的内容可以更改
- js判断是否为undefined
typeof(isadmin)=="undefined"需要使用typeof才能判断
- Ubuntu下安装、激活并配置Pycharm
Ubuntu下安装.激活并配置Pycharm 最近在学习Python这门语言,到了需要Python编译器学习的阶段,通过网上了解各个Python编译器的优缺点,最后选择了pycharm作为Python ...