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

1751-pyc 2019-03-20 原文

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

教材学习内容总结
第四章内容
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语言的共同点很少了。许多新的概念的提出,都增加了理解的难度。本周我主要对语句的基本构成有了一定的了解,但对于每一类语句的各种用法还有许多疑问。
 

 

 

 

posted on 2019-03-20 20:24 江船夜雨闻笛 阅读() 评论() 编辑 收藏

 

 
版权声明:本文为1751-pyc原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/1751-pyc/p/10567381.html

《Java程序设计》第3周学习总结的更多相关文章

随机推荐

  1. 给新手学习MySQL的建议

    前言: 经常有小伙伴问我:MySQL 应该怎么学?小白如何入门?我在想,我当时是如何学习 MySQL 的,是否 […]...

  2. F2工作流引擎之-纯JS Web在线可拖拽的流程设计器(八)

    Web纯JS流程设计器无需编程,完全是通过鼠标拖、拉、拽的方式来完成,支持串行、并行、分支、异或分支、M取N路 […]...

  3. 使用VS Code 开发.NET CORE 程序指南

    1. 前言 近两年来,很多前端的同学都开始将 VSCode 作为前端主力开发工具,其丰富的扩展给程序开发尤其是 […]...

  4. web微信开发

      群里接收消息时,使用广播,但需要刷新页面才能接收到广播内容。 - 轮询: 定时每秒刷新一次,当群不活跃时, […]...

  5. 争取到阿里云Windows云服务器的优惠活劫——10元购Windows云服务器

    之前阿里云“云服务器”的活动主要是针对Linux主机,考虑到园子里很多朋友想体验一下Windows云服务器,所 […]...

  6. 最新Unity3D学习路线图分享

    目前,Unity3D应用范围非常广泛,从手机游戏到联网的大型游戏,从严肃游戏到电子商务,再到VR虚拟现实均可完 […]...

  7. 升级程序

    日前收到一个小任务,要做一个通用的在线升级程序。更新的内容包括一些dll或exe或、配置文件。升级的大致流程是 […]...

  8. WebGL简易教程(十五):加载gltf模型

    详述了通过WebGL读取、解析并显示glTF格式数据的过程。 目录 1. 概述 2. 实例 2.1. 数据 2 […]...

展开目录

目录导航