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

本文总结了《Java程序设计》第四、五章的学习内容,涵盖了面向对象的基本概念、类与对象的关系、构造函数的作用以及Java中的传值调用等内容。

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

教材学习内容总结

教材第四章知识点总结

  • 面向对象和面向过程:

    面向对象是相对面向过程而言的,面向过程强调的是功能行为,面向对象是将过程封装进对象,强调具备了功能的对象,面向对象是基于面向过程的。
  • 面向对象的三个特征:

    封装,继承,多态;
  • 对象的使用:

    1.找对象;
    2.建立对象;
    3.使用对象;
    4.维护对象的关系.
  • 对象与类的关系:

    要产生对象必须先定义类,类是对象的设计图,对象是类的实例。
    映射到Java中,具体对象就是对应Java在堆内存中用new建立的实体。每个对象都由“类”定义。类描述对象的变量、属性、过程和事件。
  • 有关字符串:在Java中,字符串本质是打包字符数组的对象,字符串具有之前讨论过的对象操作特性,也有一些自身的特性。

教材第五章知识点总结

  • 构造函数实现对象初始化流程的封装。封装的主要目的就是隐藏对象细节,将对象当做黑箱进行操作。
  • 创建对象时,数据成员会初始化,如果没有指定初始值,则会使用默认值初始化。
  • 定义类时如果没有构造任何函数,编译程序会自动加入一个无参数、内容为空的构造函数,成为默认构造函数。
  • 被声明为static 的成员,不会让各别对象拥有,而是属于类。
  • import static语法的使用中要注意名称冲突问题,解析方式如下:

    1.局部变量覆盖:选用方法中的同名变量;
    2.成员覆盖:选用类中定义的同名数据成员、方法名称;
    3.重载方法比较:使用import static的各个静态成员,若有同名冲突,尝试通过重载判断。
  • Java领域中,有许多良好的命名习惯,这些习惯虽然说影响不到程序的运行,却与程序的沟通和维护息息相关,这一点中和C语言一样,我们要学习良好的命名习惯,尽量让程序简洁美观,一目了然。

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

1.这两章的内容总体来说比较抽象,我一开始没有看视频只是看书,看了好几遍都不知所云,幸好毕向东老师在这一块用了大量的篇幅对对象、类等概念进行了详细的解释,举了几个例子(比如把冰箱视为对象),终于让我成功的步入了这一章的大门。
2.在学习的一开始,我出现了一个认识上的误区,总觉得对象和函数很类似,都是一个实现功能的模块,可是随着认识的深入,结合毕向东老师的视频中对对象的详细解释,我发现这个想法真的大错特错:对象是类的实例。创建了一个类后,可以创建所需的任意数量的对象。而函数只能说是一个方法,可以说,对象中包含着远比函数要多的概念。

一些需要注意的小片段:

  • 内部类:

    我们可以在类中再定义类,即称为内部类。内部类可以定义在类区块之中,本身可以存取外部类的成员,外部不用知道内部类的存在。
  • 传值调用:

    在一些程序语言中,调用方法传递自变量给参数时,可以有传值调用或者传参调用的方式,而Java中只有传值调用。
  • 传值调用代码实例:

     package 传值调用;
     public class 传值调用 {
         public static void main(String[] args) {
             Customer c1=new Customr("Justin");
             some(c1);
             System.out.println(c1.name);
             Customer c2=new Customer("Justin");
             other(c2);
             System.out.println(c2.name);
         }
         static void some(Customer c){
             c.name ="John";
         }
         static void other(Customer c){
             c=new Customer("Bill");
         }
         class Customer{
             String name;
             Customer(String name){
                   this.name=name;
         }
     }
  • this的使用:

    除了被声明为static的地方外,this关键字可以出现在类中任何地方,在对象建立后为“这个对象”的参考名称。在构造函数参数与对象数据成员同名时,可以用this加以区别。

  • 有关this关键字的例子(java程序片段)

     public CashCard(String number,int balance,int bonus){
         this.number=number;//参数number指定给这个对象的number
         this.balance=balance;//参数balance指定给这个对象的balance
         this.bonus=bonus;//参数bonus指定给这个对象的bonus
     }

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

第四章

1.关于java.math.BigDecimal的使用:
877181-20160319231911349-1541078106.png

2.基本类型的打包案例:
877181-20160319232109099-863742044.png

3.数组的基础使用:
877181-20160319232152053-2135106884.png

4.二维数组的使用:
877181-20160319232419178-458181167.png

5.二维数组中的不规则数组案例:
877181-20160319232253193-1899403174.png

6.字符串对象及基础使用:
877181-20160319233150553-961393237.png

第五章

1.封装对象操作流程:
877181-20160320215000428-3654997.png

2.封装对象内部数据:
877181-20160320220251787-1269734429.png

3.使用this:
877181-20160320221129365-2026256592.png

4.传值调用:
877181-20160320221548678-116726423.png

其他(感悟、思考等,可选)

代码托管情况:

877181-20160322201348683-1596559716.png

有关于第四第五章的学习比起之前似乎直接上升了一个层次,在此之前我对Java的学习还仅仅是在C语言基础知识之上进行一些改变,只会一些基本的操作和编译一些再简单不过的小程序,但是学习了对象这个概念之后,就开始逐渐的看到了属于Java独有的一些特色。
这一次的学习依旧有不少代码是根据书上的代码编的,改动的地方也不大,由于类和对象第一次接触起来还不是很熟悉,我只能通过这种方式慢慢在写代码的同时去了解、学习,我会尝试着编写课后的题目,脱离书上的代码,学会自己创建对象解决问题。

学习进度条

代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行30篇400小时
第一周200/2002/220/20
第二周300/3003/416/38
第三周400/5004/722/60

参考资料

转载于:https://www.cnblogs.com/alovera/p/5296749.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值