刘志梅 201771010115 《面向对象程序设计(java)》 第七周学习总结
实验七 继承附加实验
实验时间 2018-10-11
1、实验目的与要求
(1)进一步理解4个成员访问权限修饰符的用途:
即将类中的域标记为private,而方法标记为public。任何声明为private的内容对其他类都是不可见的。超类中的某些方法允许被子类访问,或允许子类的方法访问超类的某个域,此时将这些方法或域声明为protected。
1.仅对本类可见——private 2.对所有类可见——public 3.对本包和所有子类可见——protected 4.对本包可见——默认,不需要修饰符。
(2)掌握Object类的常用API用法:
a、equals方法:该方法用于检测一个对象是否等于另一个对象,在Object类中,这个方法将判断两个对象是否具有相同的引用,equals具有以下特性:自反性、对称性、传递性、一致性、对于非空引用x,x.equals(null)应返回false。
b、hashCode方法:散列码是由对象导出的一个整型值,散列码是没有规律的(如果重新定义equals方法,就必须重新定义hashCode方法;equals与hashCode的定义必须一致)。
c、toString方法:用于返回表示对象值的字符串,且绝大多数的toString方法都遵循格式:类的名字然后是一对方括号括起来的域值。
(3)掌握ArrayList类用法与常用API:ArrayList是一个采用类型参数的泛型类。
(4)掌握枚举类使用方法;
(5)结合本章知识,理解继承与多态性两个面向对象程序设计特征,并体会其优点;
(6)熟练掌握Java语言中基于类、继承技术构造程序的语法知识(ch1-ch5);
(7)利用已掌握Java语言程序设计知识,学习设计开发含有1个主类、2个以上用户自定义类的应用程序。
2、实验内容和步骤
实验1 补充以下程序中主类内main方法体,以验证四种权限修饰符的用法。
|
public class TEST1 { private String t1 = "这是TEST1的私有属性"; public String t2 = "这是TEST1的公有属性"; protected String t3 = "这是TEST1受保护的属性"; String t4 = "这是TEST1的默认属性"; private void tese1() { System.out.println("我是TEST1用private修饰符修饰的方法"); } public void tese2() { System.out.println("我是TEST1用public修饰符修饰的方法"); } protected void tese3() { System.out.println("我是TEST1用protected修饰符修饰的方法"); } void tese4() { System.out.println("我是TEST1无修饰符修饰的方法"); } } public class TEST2 extends TEST1{ private String e1 = "这是TEST2的私有属性"; public String e2 = "这是TEST2的公有属性"; protected String e3 = "这是TEST2受保护的属性"; String e4 = "这是TEST2的默认属性"; public void demo1() { System.out.println("我是TEST2用public修饰符修饰的方法"); } private void demo2() { System.out.println("我是TEST2用private修饰符修饰的方法"); } protected void demo3() { System.out.println("我是TEST2用protected修饰符修饰的方法"); } void demo4() { System.out.println("我是TEST2无修饰符修饰的方法"); } } public class Main { public static void main(String[] args) { TEST2 test2 = new TEST2(); /*以下设计代码分别调用 demo1 demo2 demo3 demo4 test1 test2 test3 test4方法和t1 t2 t3 t3 e1 e2 e3 e4属性,结合程序运行结果理解继承和权限修饰符的用法与区别*/ } } |
public class TEST1 {
private String t1="这是TEST1私有属性";
public String t2="这是TEST1共有属性";
protected String t3="这是TEST1受保护的属性";
String t4="这是TEST1的默认属性";
private void tese1() {
System.out.println("我是TEST1用private修饰符修饰的方法");
}
public void tese2() {
System.out.println("我是TEST1用public修饰符修饰的方法");
}
protected void tese3() {
System.out.println("我是TEST1用protected修饰符修饰的方法");
}
void tese4() {
System.out.println("我是TEST1无修饰符修饰的方法");
}
}
public class TEST2 extends TEST1 {
private String e1="这是TEST1私有属性";
public String e2="这是TEST1共有属性";
protected String e3="这是TEST1受保护的属性";
String e4="这是TEST1的默认属性";
public void demo1() {
System.out.println("我是TEST2用public修饰符修饰的方法");
}
private void demo2() {
System.out.println("我是TEST2用private修饰符修饰的方法");
}
protected void demo3() {
System.out.println("我是TEST2用protected修饰符修饰的方法");
}
void demo4() {
System.out.println("我是TEST2无修饰符修饰的方法");
}
}
public class Main {
public static void main(String[] args) {
TEST2 test2=new TEST2();
/*下面分别调用demo1 demo2 demo3 demo4 test1 test2 test3 test4方法和t1 t2 t3 t4 e1 e2 e3 e4属性,好好理解继承和权限的用法和区别*/
}
}
运行结果:

实验2 第五章测试程序反思,继承知识总结。
测试程序1:
Ÿ 编辑、编译、调试运行教材程序5-8、5-9、5-10(教材174页-177页);
Ÿ 结合程序运行结果,理解程序代码,掌握Object类的定义及用法;
实验结果:



测试程序2:
Ÿ 编辑、编译、调试运行教材程序5-11(教材182页);
Ÿ 结合程序运行结果,理解程序代码,掌握ArrayList类的定义及用法;
实验结果:

测试程序3:
Ÿ 编辑、编译、调试运行程序5-12(教材189页);
Ÿ 结合运行结果,理解程序代码,掌握枚举类的定义及用法;
实验结果:

实验3:采用个人账号登录https://pintia.cn/,完成《2018秋季西北师范大学面向对象程序设计(Java)(ch1-ch5)测试题2》,测试时间60分钟;
实验4: 课后完成实验3未完成的测试内容。
实验总结:通过本周实验,我知道了Object是所有类的父类,ArrayList是动态数组,ArrayList内部封装了一个Object类型的数组,理解了四种权限修饰符;在本章学习中明白继承与多态,通过实验的实际操作有助于更好地理解知识内容,同时通过实验明白自己所欠缺及改进、学习的地方。
刘志梅 201771010115 《面向对象程序设计(java)》 第七周学习总结的更多相关文章
- 201771010134杨其菊《面向对象程序设计java》第九周学习总结
第九周学习总结 第一部分:理论知识 异常.断言和调试.日志 1.捕获 ...
- 201871010132-张潇潇《面向对象程序设计(java)》第一周学习总结
面向对象程序设计(Java) 博文正文开头 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cn ...
- 扎西平措 201571030332《面向对象程序设计 Java 》第一周学习总结
<面向对象程序设计(java)>第一周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 ...
- 杨其菊201771010134《面向对象程序设计Java》第二周学习总结
第三章 Java基本程序设计结构 第一部分:(理论知识部分) 本章主要学习:基本内容:数据类型:变量:运算符:类型转换,字符串,输入输出,控制流程,大数值以及数组. 1.基本概念: 1)标识符:由字母 ...
- 201871010124 王生涛《面向对象程序设计JAVA》第一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/xbsf/ ...
- 201871010115——马北《面向对象程序设计JAVA》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 201777010217-金云馨《面向对象程序设计(Java)》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 201871010132——张潇潇《面向对象程序设计JAVA》第二周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- 201771010123汪慧和《面向对象程序设计Java》第二周学习总结
一.理论知识部分 1.标识符由字母.下划线.美元符号和数字组成, 且第一个符号不能为数字.标识符可用作: 类名.变量名.方法名.数组名.文件名等.第二部分:理论知识学习部分 2.关键字就是Java语言 ...
- 201521123061 《Java程序设计》第七周学习总结
201521123061 <Java程序设计>第七周学习总结 1. 本周学习总结 2. 书面作业 ArrayList代码分析 1.1 解释ArrayList的contains源代码 贴上源 ...
随机推荐
- 2015-10-15 css3
图片模糊效果 <img id ="img1" src="image/免费学PS.jpg" style="-webkit-filter: blur ...
- private、public、protected和默认
类中的域最好标记为private: 方法最好标记为public: private:仅对本类可见 public:对所有类可见 protected:对本包和对所有子类可见 默认(什么都不写):对本包可见 ...
- C语言:统计数字空格其他字符程序
#include <stdio.h> int main(){ char t; int num=0; int spac=0; int other=0; int sum=0; printf(& ...
- Problem D: 类的初体验(IV)
Description 定义一个类Data,只有一个int类型的属性和如下方法: 1. 缺省构造函数,将属性初始化为0,并输出"Data's default constructor.&q ...
- angular2 pipe实现搜索结果中的搜索关键字高亮
效果图如下 1.声明一个pipe import {Pipe, Injectable, PipeTransform} from '@angular/core';import { DomSanitizer ...
- IIC_slaver 的仿真之路
IIC_slaver 是网上下载的.testbench文件是自带的,出现如图错误. compile >> compile option >> include direct ...
- Echarts tooltip 坐标值修改
tooltip: { trigger: 'axis', position:function(p){ //其中p为当前鼠标的位置 console.log(p); ] + , p[] - ]; } },
- python发送邮箱的小项目
import smtplibfrom email.mime.text import MIMEText receiver = input('输入接受者邮箱\n')subject = input('输入标 ...
- 行高(line-height)
line-height属性 设置元素中文本行高.
- git创建分支并上传仓库
1. 新建分支 xxx 2. git pull (目录下 命令行将线上分支拉倒本地) 3. git checkout xxx (切换到到该分支 ) (可使用 git status 查看目前处于哪一个 ...