教材学习内容总结
第四章内容
1. 面向对象编程的特征
- 封装性
将数据和对数据的操作封装在一起
- 继承性
子类继承父类的属性行为,增添独有操作
- 多态性
名称的多态及调用后行为的多态
2.Java程序的组成:一个Java应用程序由若干个类所构成
类:包括类声明和类体两部分。
类体:包括变量的声明和方法的定义两部分
变量:成员变量和局部变量
3.成员变量与局部变量的区别:
-成员变量在整个类中都有效,其有效性与它在类体中书写的先后位置无关;局部变量只在方法中有效,而且从声明它的位置之后开始有效。
-如果局部变量的名字与成员变量的名字相同,那么成员变量被隐藏,如果想使用被隐藏的局部变量,必须使用关键字this。
-成员变量有默认值,局部变量没有默认值。
4.构造方法
-默认构造方法
若没有自定义构造方法,则系统默认产生无参数方法
-类中的构造方法的名字必须与它所在的类的名字完全相同。
-构造方法没有类型。
-允许在一个类中编写若干个构造方法,但必须保证他们的参数不同。
5.创建对象:包括对象的声明和为对象分配变量两个步骤。
Lader lader; //声明对象
lader = new Lader();//为对象分配变量(使用new和构造方法)
即Lader lader = new Lader();
6.如果成员变量在声明时没有指定初值:
- 整型成员变量,默认初值为0;
- 浮点型成员变量,默认初值为0.0;
- boolean型成员变量,默认初值为false;
- 引用型变量,默认初值为null;
7.参数传值
-传值机制:方法中参数变量的值是调用者指定的值的拷贝。
-两种方式:基本数据类型参数的传值,引用类型参数的传值。
对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别。
-可变参数:在声明方法时不给出参数列表中从某项开始直至最后一项参数的名字和个数。
8.实例变量和类变量
-static写在方法前即为类变量
-实例方法与类方法的区别:
(1)实例方法既可以操作实例变量也可以操作类变量;类方法只能操作类变量,不可以操作实例变量。
(2)实例方法只能由对象来调用,不能通过类名调用;类方法既能由对象调用,也能直接通过类名调用。
(3)当类被加载到内存时,其中的类方法就被分配了相应的入口地址;而实例方法在该类创建对象后,才分配入口地址。
9.方法重载
-一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。
10.包
包语句的格式为:
package 包名;
如果使用包名,运行主类时,主类全名是包名.主类名。
11.import语句
一个类想要使用的类和它不在一个包里时可以用import语句使用这样的类 ,例如import java.util.*。
代码调试中的问题和解决过程
问题1:在例4.12中,方法中的变量类型不兼容,由double到float有损精度
问题1解决方案:将变量类型double改成int就能编译通过了
问题2:在例4.8中,输出时找不到类型为Circle的变量
问题2解决方案:暂时不清楚原因
问题3:在运行带包程序时,编译和运行都遇到障碍
问题3解决方案:
-编译:从父目录进行访问时,需要加入子目录的路径
-运行:编译出来的文件名是包名.类名的形式。
代码托管
[代码量】
##感想
本周任务完成度不尽如人意。进入了java核心知识的学习,我了解到了java作为一门面向对象式的语言的特点,这与C语言的共同点很少了。许多新的概念的提出,都增加了理解的难度。本周我主要对语句的基本构成有了一定的了解,但对于每一类语句的各种用法还有许多疑问。