20175306王佳烁第三周学习总结

20175306 2018-2019-2 《Java程序设计》第3周学习总结

教材学习内容总结

第四章:类与对象

4.1编程语言的几个发展阶段:面向机器语言-->面向过程语言-->面向对象语言
面向对象编程主要体现下列三个特性:封装-->继承-->多态(依次是下一个的基础)
4.2类:类的定义包括两部分:类声明和类体
类的目的是抽象出一类事物共有的属性和行为。抽象的关键是抓住事物的两个方面:属性和行为。
区分成员变量和局部 变量:如果局部变量的名字与成员变量的名字相同,那么成员变量被隐藏,即该成员变量在这个方法内暂时失效。注:局部变量没有默认值!!!
4.3构造方法与对象的创建:类中的构造方法的名字必须与它所在的类的名字完全相同,而且没有类型。允许在一个类中编写若干个构造方法,但必须保证它们的参数不同!!!
创建对象的格式为:类的名字 对象名字 注:使用new运算为对象分配变量
*对象的内存模型

对象的引用:一个类的声明的两个对象如果具有相同的引用,二者就具有完全相同的变量(实体)
4.4类与程序的基本结构:

**4.5参数传值:在Java中,方法的所有参数都是”传值“的,也就是说,方法中参数变量的值是调用者指定的值的拷贝。
注:对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别。
4.6对象的组合:注:一个类声明的两个对象如果具有相同的引用,二者就具有完全相同的变量
4.7实例成员与类成员:实例变量和类变量的区别:(1)不同对象的实例变量互不相同(2)所有对象共享类变量(3)通过类名直接访问类变量
实例方法和类方法的区别:(1)对象调用实例方法(2)类名调用类方法
4.8方法重载:一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同
注:参数不同是指参数的个数不同或参数个数相同,但参数列表中对应的某个参数的类型不同
4.9this关键字:注:this不能出现在类方法中,这是因为类方法可以通过类名直接调用,这是,可能还没有任何对象诞生
4.10包:一般语句为:package 包名 注:编译时javac 包名\包名\源文件 运行时java 包名.包名.主类全名
4.11import语句:注:都是无名包而且在同一文件夹下的类都可以互相使用,无包名类也可以使用import语句来使用有包名的类,但是有包名的类无论如何也无法使用无包名的类。
4.12访问权限:三种访问限制修饰词的范围从大到小分别是:public-->protected-->private
4.13基本类型的类封装:Java的基本数据类型包括Boolean、byte、short、char、int、long、float、double
4.14对象数组
4.15JRE扩展与jar文件:注意hello.mf中代码的细节
4.16文档生成器:javadoc

教材学习中的问题和解决过程

 问题一:


解决过程:将“\”变成“/”就可以进入文件夹对文件进行编译

代码调试中的问题和解决过程

问题一:


解决过程:该问题的出现可能是文件在保存的时候不是ANSI格式,所以才会编译不通过
可以修改代码为:javac -encoding GBK xx.java来暂时修改编码,这样编译就可以通过了

代码托管

码云链接:

https://gitee.com/wjs123456/wjs20175306.git

本周代码详情:


本周错题总结:

1、下列说法正确的是(ABCD)
A .使用C语言编写代码指令时,不需要考虑机器指令的细节。
B .源文件是按照编程语言的语法编写具有一定扩展名的文本文件。
C .面向对象语言编写的程序需要消耗更多的内存,需要更快的CPU来保证其运行速度。
D .代码块是程序执行时产生的一种行为,但是面向过程语言却没有为这种行为指定“主体”,即对象。
2、下列关于创建对象的说法,错误的是(CD)
A .创建一个对象包括对象的声明和为对象分配变量两个步骤。
B .使用Student stu;声明对象变量后,stu的内存中还没有任何数据。
C .引用型成员变量的默认初值为0。
D .对象的引用存在堆中,对象的实体(分配给对象的变量)存在栈中。
E .String a="ab"+"cd";创建了3个对象。

本周学习心得:

本周的学习能够明显感觉到比前两周要难,但是这却是Java学习中比较基本的知识,也是以后常用的知识。通过这周的学习,让我知道以后在写程序的时候要更加的小心谨慎,不但要注意语法上不出现错误,还要注意包,重载等运用时的注意事项。还有就是有些东西不能死记硬背,要理解,别要的时候可以画图来帮助我们理解。
posted @ 2019-03-16 22:34  20175306王佳烁  阅读(188)  评论(0编辑  收藏  举报