20175202 《Java程序设计》第三周学习总结

时间:2023-03-09 06:35:12
20175202 《Java程序设计》第三周学习总结

20175209 2018-2019-2 Java程序设计》第三周学习总结

教材知识点总结

1.编程语言发展阶段:

面向机器语言——面向过程语言——面向对象语言。

2.类声明:

类名必须时合法的Java标识符,两个大括号及其之间的内容是类体。

如果类名使用拉丁字母,那么名字的首字母使用大写字母。

类名要容易识别、见名知意。

3.类体:

类的目的是抽象出一类事物共有的属性和行为,并用一定的语法格式来描述所抽象出的属性和行为。类声明之后一对大括号以及之间的内容称作类体。

类体内容的组成:

  • 变量的声明:用来存储属性的值(体现对象的属性)。
  • 方法的定义:方法可以对类中声明的变量进行操作,即给出算法(体现对象所具有的行为)。

4.成员变量:

成员变量在整个类内都有效,其有效性与它在类体中书写的先后位置无关。方法内的局部变量从声明它的位置之后开始有效。

成员变量有默认值,局部变量没有默认值;对成员变量的操作只能在方法中;如果局部变量与成员变量的名字相同,方法会隐藏成员变量。

5.构造方法与对象的创建:

构造方法的名字必须与它所在类的名字完全相同,而且没有类型。

在一个类中允许编写若干个构造方法,但必须保证它们的参数不同,参数不同是指,参数的个数不同,或参数个数相同,但参数列表中对应的某个参数的类型不同。

用类声明的变量被称为对象,对象一般声明格式为:类的名字 对象名字。

需使用new运算符和类的构造方法为声明的对象分配变量,即创建对象。

6.类与程序的基本结构:

一个Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中。

7.参数传值:

  • 基本数据类型参数的传值:该参数传递的值得级别不能高于该参数的级别。
  • 引用类参数传值:一个类中两个对象如果引用相同,二者具有完全相同的变量。

9.实例成员与类成员:

不同的对象实例变量互不相同。

所有对象共享类变量。

通过类名直接访问类变量。

10.方法重载:

一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。两个方法的而参数不同是指满足下列之一:

  • 参数的个数不同。
  • 参数个数相同,但参数列表中对应的某个参数的类型不同。

10.this关键字:

this关键字出现在类的构造方法中时,代表使用该构造方法所创建的对象。

this关键字出现在实例方法中时,this就代表正在调用该方法的当前对象。

11.import语句

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

问题1:对于对象和类的概念有点琢磨不清,感觉过于抽象。

解决方案:反复看课本上的例子,根据类的定义仔细看了一下例子里的代码,然后读到后面,看到创建对象一节时,理解了到底什么是对象。

问题2:在含有多个类的程序运行时,经常出现提示找不到符号的错误。

解决方案:这个问题主要原因出在忘记了第二周学习到的规则,一个程序应只含有一个public类,且运行时要运行主类。

问题3:不理解UML中的关联关系和依赖关系,并且区分不清楚。

解决方案:多次调试书上该部分代码,发现了他们的区别,再加上认真看书,有了一定的理解。

心得体会

  首先先承认错误,JAVA很难理解和入门的学科,想要融会贯通更是不易,需要投入大量的自己学习的时间。但自己前两周并没有投入太多的时间精力来认真调试代码,练习编程。这周也周五才开始进行第四章的学习,虽然周末投入了很多时间,但第四章内容很多,并且包括类、对象在内的很多方面都是编程的基础,对后面的学习非常重要。自己好像并没有完全理解他们。在下一周学习第五章的同时,我也会投入额外的时间来补充学习第四章的内容。不过,我认为自己在这周也有很大的收获,在这周里我收获了最多的java基础知识。希望以后再接再厉,能静下心来投入更多的时间。

上周错题总结

1.下列关于创建对象的说法,错误的是

A.创建一个对象包括对象的声明和为对象分配变量两个步骤。

B.使用Student stu;声明对象变量后,stu的内存中还没有任何数据。

C.引用型成员变量的默认初值为0。

D.对象的引用存在堆中,对象的实体(分配给对象的变量)存在栈中。

E.String a=“ab”+“cd”;创建了3个对象。

正确答案: C D

你的答案: C

解析:D项:对象的引用存在栈中,对象的实体存在堆中。

2.下列关于实例方法和类方法的叙述,正确的是

A.类方法不可以操作实例变量,因为在类创建对象之前,实例成员变量还没有分配内存。

B.当创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址。

C.实例方法不能通过类名调用,只能由对象来调用。

D.不必创建对象就可以用类名直接调用static方法。

正确答案: A  B  C D

你的答案: A  B  D

解析:书P79-80。