20175209 《Java程序设计》第三周学习总结
20175209 《Java程序设计》第三周学习总结
教材学习内容总结
第四章知识点
1.发展阶段:
面向机器——面向过程——面向对象(特点:封装性,继承性,多态性)
2.类:
类
- 声明变量(成员变量,类内均有效)
- 定义方法
- 方法头(有无参数均可)
- 方法体(内部定义变量为局部变量,只在内部有效)
成员变量有默认值,局部变量没有默认值;对成员变量的操作只能在方法中;如果局部变量与成员变量的名字相同,方法会隐藏成员变量。
3.构造方法与对象:
构造方法的名字必须与类名完全相同,并且没有类型。
对象的声明格式为:类名 对象名
声明后的对象为空对象,需要有关键字new进行内存分配;当两个变量具有相同的引用时,他们就具有相同的实体
4.参数传值:
- 基本数据类型的传值:该参数传递的值得级别不能高于该参数的级别
- 引用类传值:一个类中两个对象如果引用相同,二者具有完全相同的变量
5.实例成员与类成员
- 实例变量与类变量
- 有static修饰的为类变量,没有的则为实例变量
- 所有对象共享类变量
- 类名访问类变量,对象访问实例变量
- 实例方法与类方法
- static修饰的为类方法
- 实例方法只能通过对象调用,类方法类名和对象均可调用
- 实例方法既可以操作实例变量也可以操作类变量
6.方法重载:
要求:参数个数不同或参数个数相同但参数类型存在不同
7.this关键字:
- 构造方法中的this可以省略
- 实例方法中成员变量的名字和局部变量名字相同时,this不可省略
8.package与import
联系:package的作用:通俗来讲是将源文件编译后的类的字节码文件打包至某一文件下,即打包,在运行时通过“包名.主类名”的方式进行。Java中的很多类已经背打包好,所以我们只需要通过import引用即可。import的作用是引入包中的类和接口,例如书上很多程序在需要键盘输入时需要引入java.util.*。
9.访问权限:
访问权限限制符:private、protected、public、友好的
- private修饰私有变量和私有方法,在另一个类中不能通过类名来操作该类中的私有变量。private可以对类中变量起保护作用
- protected修饰受保护的成员变量和方法,创建对象的类与该类在同一个包中,才可以通过类名访问
- 不能用protected 和private 修饰类
- 权限高低排序 public——protected——友好的——private
10.UML图:
UML图可以直观的体现要操作的类名:具体类和具体方法用常规字型表示,抽象类和抽象方法用斜体表示;同时可以清晰地显示类的名字类型和初始化值,便于观察各类之间的流水关系和调用关系。
教材学习中的问题和解决过程
问题1:对于书上4.6.1组合与复用中的知识不太理解,主是不太理解引用的传递的方法
问题1解决方案:书上4_18的例子很好的给出了参数的引用和传值方式,通过对书上例子的反复尝试和视频中对于例4_8的讲解理解了这部分知识
关于IDEA使用时存在的问题和优点
开始时我选择在Linux中安装IDEA,但是虚拟机一直阻止我下载,开始时我认为是自己虚拟机版本的问题,因为虚拟机需要通过Jetbrains TOOLBOX进行下载,后来发现是自己下错了IDEA的版本,下成了Community用的
正常应该下载Ultimate的。
所以我在windows中下载了IDEA,编写程序时都很顺利,而且用IDEA也非常方便,一些命令都可以通过简化命令+Tab键生成,和之前在终端中编译运行方便很多。尤其是本章的例题较多,使用IDEA不需要反复用wq保存退出查看其他文件,可以同时查看多个文件。但是在向码云中推送文件时出现了一些问题:因为我在Windows上的git安装时间较早,并且在当时安装时建立过一个仓库,这次作业在上传时虽然可以在现在使用的仓库中显示,但是在查看文件时出现了问题,很多通过Windows上传的无法查看,因此我又在Linux中安装了正确版本的IDEA并重新输入代码,之后可以成功的推送到码云上。
由于本次选择使用IDEA进行编写,而且IDEA的编译和运行可以同时进行,出现错误更改也比较方便,因此也节省了大量时间。
上周错题分析
1.表达式-2 >> 1的值为

20175209 《Java程序设计》第三周学习总结的更多相关文章
- Java程序设计第三周学习总结
1. 本周学习总结 2. 书面作业 Q1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈
对于“2017面向对象程序设计(Java)第三周学习总结”存在问题的反馈 一:教学中存在的学习问题 “1.由于同学们平时练习不足,上课总是出现跟不上老师的节奏的现象. 2.个别同学上课不认真听讲,打开 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
随机推荐
- ASP.NET Zero--前期要求
前期要求 需要以下工具才能使用ASP.NET Zero Core解决方案: Visual Studio 2017 + Visual Studio扩展: Bundler&Minifier Web ...
- asp.net网页上获取其中表格中的数据(爬数据)
下面的方法获取页面中表格数据,每个页面不相同,获取的方式(主要是正则表达式)不一样,只是提供方法参考.大神勿喷,刚使用了,就记下来了. 其中数据怎么存,主要就看着怎么使用了.只是方便记录就都放在lis ...
- Docker:测试环境的准备-建立一台centos测试机
一.安装虚拟机并配置网络,下面演示在一台工作机上搭建环境 基础准备: 安装VMware-workstation-full-15.0.0-10134415.exe 安装虚拟机,镜像文件:CentOS-7 ...
- 【English Teradata】名称缩写
日常缩写 [GTM]Teradata Go-to-Market employees [GTS]Teradata Global Technical Support [GSC] [CS&S]Cus ...
- ASP.NET基础知识汇总之WebConfig各节点介绍
web.config虽然一直用,接触最多的也就是节点appSettings和connectionSettings,今天系统的梳理一下,了解一下webconfig各个节点的含义,先简单的浏览一下具体的w ...
- Python爬虫【实战篇】百度翻译
先看代码 import requests headers = { "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS ...
- Python开发【内置模块篇】os模块
1.当前路径及路径下的文件 os.getcwd():查看当前所在路径. >>> import os >>> os.getcwd() 'E:\\test' >& ...
- java获取类加载路径和项目根路径的5种方法
// 第一种:获取类加载的根路径 D:\IDEAWorkspace\hs-bluetooth-lock\src\applications\bluetooth-api\target\classes Fi ...
- GIL全局解释器锁
1. 什么是GIL全局解释器锁 GIL本质就是一把互斥锁,相当于执行权限,每个进程内都会存在一把GIL,同一进程内的多个线程 必须抢到GIL之后才能使用Cpython解释器来执行自己的代码,即 ...
- SQL SERVER数据库修改是否区分大小写(转载)
昨天去客户,发现程序无法应用,跟踪错误提示,提示的大致意思是“数据库表名和数据库字段名不存在”.查询后发现是SQL Server数据库设置了区分大小写的缘故(一般安装时,Oracle的正确安装下是默认 ...