20165305 苏振龙《Java程序设计》第四周学习总结

第五章

5.1 封装

封装(Encapsulation)实际上使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作。通过构造方法(构造函数)封装初始化流程通过成员方法(函数)封装操作通过成员变量封装数据

5.2类语法细节

1.如果没有声明权限修饰的成员,只有在相同包的类程序代码中才可以直接存取,也就是“包范围权限”。如果想在其他包的类程序代码中存取某包的类或对象成员,则该类或对象成员必须是公开成员,在Java中要使用public加以声明。

2.如果定义类时,没有撰写任何构造函数,编译程序会自动加入一个无参数、内容为空的构造函数,称为默认构造函数。可以定义多个构造函数,只要参数类型或个数不同,这称为重载构造函数。

3.在Java中,this()代表了调用另一个构造函数,且this()调用只能出现在构造函数的第一行。

4.被声明为static的成员,不会让个别对象拥有,而是属于类。

5.以类命名实例来说,首字母是大写,以static使用习惯来说,是通过类名称与“.”运算符来存取。

6.在static方法或区块中不能出现this关键字。static方法中不能用非static数据或方法成员。

7.使用import static语法要注意名称冲突问题,有些名称冲突编译程序可通过以下顺序来解析。

局部变量覆盖:选用方法中的同名变量、参数、方法名称。

成员覆盖:选用类中定义的同名数据成员、方法名称。

重载方法比较:使用import static的各个静态成员,若有同名冲突,尝试通过重载判断。

第六章

继承:

面向对象中,为避免多个类间重复定义共同行为。(简单说就是将相同的程序代码提升为父类。)

特点:

这里接触到了新的关键词,extends,在java语言中用estends来继承父类的行为。

is-a原则,在java中子类只能继承一个父类。要开始理解多态,必须先知道操作的对象是“哪一种”。

多态,使用单一接口操作多种类型的对象。

在继承父类之后,定义与父类中相同的方法部署,但执行内容不同,称为重新定义。

如果某方法区块真的没有任何程序代码操作,可以直接使用abstract标识该方法为抽象方法,该方法不用撰写{}区块,直接“;”结束即可。

注意:

关键字extends是为了扩充和继承父类的行为。

在java中一个子类只能继承一个父类。

在判断操作对象是“哪一种”的时候,检查语法的逻辑是否正确,方式是从=右边往左边读:右边是不是一种左边呢(右边类是不是左边类的子类)?

在重新定义中,子类必须撰写与父类方法相同的签署,如果因为疏忽打错字就会完全不同(虽然编译会成功,但是行为会完全不同),但在JDK5后标注@Override,表示要求编译程序检查是否真的重新定义父类中某个方法。

子类如果继承抽象类,对于抽象方法有两种做法,一种是继续标注该方法为abstract(必须在class前标注abstract),另一种就是操作抽象方法,如果都没有实施,则会出现编译错误。

继承与法细节:
特点:

protected成员权限关键字,相同包中的类可以直接存取,不同包中的类可以在继承后的子类直接存取。(不开放访问权限,但可以直接存取

如果想要取得父类中的方法定义,可以调用方法前,加上super关键字。

在class前使用了final关键字定义,那么表示这个类是最后一个,不会再有子类,也就相当于不能再被继承。在定义方法时候也可以限定为final,表示最后一次定义方法了,也就是子类不可以重新定义final方法。

在java继承中一定继承了java.lang.Object,简单来说任何类追溯至最上层类中一定是Object父类。

注意:

JAVA中有3个权限关键字,public、protected与private,但实际上有4个权限范围。

若原来成员public,子类中重新定义时不可谓private或protected。

在JDk5之前,重新定义方法时除了可以定义权限较大的关键字之外,其他部分必须与父类中方法签署完全一致。

在创建ArrayList实例时候,可以指定内部数组初始容量,如果使用无参数构造函数,则默认容量为16。

垃圾收集:在执行流程中,无法通过变量参考的对象,就是GC(Garbage Collection) 认定的垃圾对象。

抽象类:虽然是抽象方法,但在go()方法中,还是可以调用。

代码托管(ch5,ch6)

脚本截图

原文地址:https://www.cnblogs.com/2332175994-1314/p/8647472.html

时间: 2024-10-09 17:27:33

20165305 苏振龙《Java程序设计》第四周学习总结的相关文章

20165305 苏振龙《Java程序设计》第一周学习总结

20165305 <Java程序设计>第一周学习总结 教材学习内容总结 我重点学习了jdk安装后面的第一章内容,算是更进一步的的了解了一些Java方面的基础知识. Java平台概论 Java SE(Java 2 Platform Standard Edition标准版) Java EE(Java 2 Platform Enterprise Edition企业版) Java ME(Java 2 Platform Micro Edition微型版) Java SE的四个组成部分 JVM:Java虚

20165305 苏振龙《Java程序设计》第四周课上测试补做

第一次测试 第二次测试 第三次测试 上传代码 第四次测试 总结 之前我一直在git bash进行程序设计,但是对于我来说操作起来有点困难,所以我改用了虚拟机,之后之前一直困扰我的问题在虚拟机下就没有了,而且一些·不要能进行的操作例如"tree","jdb调试"等都可以顺利进行.在上一周的课上试验中因为在用git bash运行代码时总是出现不识别的地方,并且也一直没有很好的解决,在以后的学习中我会多留意一些,看是否能找到解决方法. 原文地址:https://www.c

20165305 苏振龙 《Java 程序设计》第一次测试总结

第一个代码运行结果截图 功能:从1到5305进行求和 第二个代码运行结果截图 代码托管 第三个代码运行结果截图 (1)源文件的名字为Person.java (2)生成2个字节码文件,名字为Person.class和Xiti.class 由于第一周的作业我并没有完成,所以在测试时,打代码占据了我很大的一段时间,还有对于Git Bash命令的熟悉,所以并没有按时的完成测试任务.第一个测试,由于我的粗心,再打代码是把K写成k,使得代码没有运行成功,在我发现错误后,也没能按时的提交代码.第二个测试,因为

20165305 苏振龙《Java程序设计》第三周学习总结

面向对象和面向过程: 面向对象是相对面向过程而言的,面向过程强调的是功能行为,面向对象是将过程封装进对象,强调具备了功能的对象,面向对象是基于面向过程的. 面向对象的三个特征: 封装,继承,多态: 对象的使用: 1.找对象: 2.建立对象: 3.使用对象: 4.维护对象的关系. 对象与类的关系: 要产生对象必须先定义类,类是对象的设计图,对象是类的实例. 映射到Java中,具体对象就是对应Java在堆内存中用new建立的实体.每个对象都由"类"定义.类描述对象的变量.属性.过程和事件.

20165305 苏振龙《Java程序设计》第七&#183;周课上测试补做

第十一章 ?如果想在main()以外独立设计流程,可以撰写类操作java.lang.Runnable接口,流程的进入点是操作在run()方法中. ?如果想要加装主线程,就要创建 Thread 实例,要启动额外的主线程就是调用 Thread 实例的 start() 方法. ?主线程会从main()方法开始执行,直到main()方法结束后停滞JVM.如果主线程中启动了额外线程,默认会等待被启动的所有线程都执行完run()方法才终止JVM.如果一个Thead被表示为Daemon线程,在所有的非Daem

20165305 苏振龙《Java程序设计》第八周学习总结

第十二章 Lambda表达式中this的参考对象以及toString()的接受者,是来自Lambda的周围环境,也就是看Lambda表达式是在哪个名称范畴,就能参考该范畴内的名称,像是变量或方法 JDK8提供了方法参考的特性,可以重用byLength方法 Lambda表达式只是定义函数接口操作的一种方式,除此之外,只要静态方法的方法签署中,参数与返回值定义相同,也可以使用静态方法来定义函数接口操作 方法参考不仅避免了重复撰写Lambda表达式,也可以让程序代码更清楚 Lambda表达式本身是中性

20165305 苏振龙《Java程序设计》第八周课上测试补做

1. 下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql,提交导入成功截图 2. 编写程序,查询世界上超过"你学号前边七位并把最后一位家到最高位,最高位为0时置1"(比如学号20165201,超过3016520:学号20165208,超过1016520)的所有城市列表,提交运行结果截图 3. 编写程序,查询世界上的所有中东国家的总人口 4. 编写程序,查询世界上的平均

20165115 2017-2018-2 《Java程序设计》第四周学习总结

20165115 2017-2018-2 <Java程序设计>第四周学习总结 教材学习内容总结 第五章主要是围绕子类的继承展开,并在此基础上介绍了一系列的方法与关键字.第六章主要讲述的内容是接口的实现. 代码托管 上周考试错题总结 完成后补充 参考资料 Java学习笔记(第8版) <Java学习笔记(第8版)>学习指导 ... 原文地址:https://www.cnblogs.com/zcy20165115/p/8643294.html

20165318 2017-2018-2 《Java程序设计》第四周学习总结

20165318 2017-2018-2 <Java程序设计>第四周学习总结 IDEA安装 按照娄老师Intellj IDEA 简易教程,我下载了IDEA但是由于没有注册学校邮箱,我没办法申请免费使用,我在网上找到了IntelliJ Idea 2017 注册码 免费激活方法顺利安装并运行了IDEA. 教材学习总结 第五章 子类与继承 每个子类只能有一个父类,而一个父类可以有多个子类.可以使用关键字extends来定义一个类的子类: class 子类名 extends 类在不加extends关键