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

教材学习内容总结

本周,我学习了书本上第四章的内容,以下是我整理的主要知识。

第四章 类与对象

编程语言的几个发展阶段
  1. 面向机器

    代表语言:汇编语言,执行速度快。

  2. 面向过程

    代表语言:C语言

    int max(int a,int b){
    if(a>b)
    return a;
    else
    return b;
    }
  3. 面向对象

    在学习面向对象语言的过程中,一个简单的理念就是:需要完成某种任务时,首先要想到,谁去完成任务,即哪个对象去完成任务。

    代表语言:Java,C++

    类产生具体的对象

    3.1 封装性

    3.2 继承

    3.3 多态

类是Java程序的基本要素,一个Java应用程序就是由若干个类所构成的。

类是Java语言中最基本的“数据类型”,类封装这数据和对数据的操作。

类声明的变量被称作对象变量,简称变量。

  1. 类声明 (public) class PeopleChina

  2. 类体:变量声明(属性)+方法(行为)

    (1)成员变量:变量声明部分声明的变量,有效范围整个类和书写位置无关。

    (2)方法:定义方法

    方法体:局部变量和语句构成

    参数在方法内有用

    方法体内声明的是局部变量,只在方法内有效与书写位置有关

    局部变量与成员变量同名:成员变量被隐藏暂时失效。

    局部变量没有默认值。

构造方法与对象的创建

构造方法

创建对象时用

构造方法的名字和类名一样,没有类型

(1)默认的构造方法,如果不定义构造方法,系统提供默认的构造方法。

(2)自定义构造方法,自定义的多个构造方法必须参数不同,个数不同,或对应的某个参数类型不同。

创建变量

(1)声明对象

类的名字 对象名字

(2)为声明的对象分配变量。

用new运算符号和构造方法

使用对象

避免使用空对象,不要让空对象去访问变量或方法

对象的引用和实体

对象本身存放着引用,自己可以操作分配自己的变量,调用类提供的方法分配给对象的变量称作对象的实体

两个类型相同的对象,如果二者的引用相同,那么二者就具有完全相同的实体。

类与程序的基本结构

将应用程序涉及的Java源文件保存在相同的目录下,分别编译

运行主类

参数传值

传值机制:方法中参数变量的值是调用者制定的值的拷贝

基本数据类型参数的传值:向该参数传递的值得级别不可以高于该参数的级别

引用类型参数的传值:类型相同两个数组,一旦引用相同,就有一样的单元,一样的实体。

可变参数:在声明方法时不给出参数列表中从某项开始直至最后一项的名字和个数。

对象的组合

组合和复用:“黑盒”复用,当前对象随时可以更换所包含的内容,属于弱耦合关系。

实例成员与类成员

实例变量和类变量的声明:static 修饰的是类变量,没有static修饰的是实例变量。

实例变量和类变量的区别:

(1)不同对象的实例变量互不相同

(2)所有对象共享类变量

(3)通过类名直接访问类变量,实例变量不能用类名访问,只能用对象访问

实例方法和类方法的定义:static区分

实例方法和类方法的区别:

(1)对象调用实例方法,只能对象来调用,实例方法可以操作实例成类变量。

(2)类名调用类方法,对象也能调用,类方法只能操作类变量

(3)设计类方法的原则:算法不需要操作成员变量,就可以考虑将这样的算法写成类方法。

方法重载

一个类中可以有多个方法具有相同的名字,但这些方法的参数必须相同

避免重载出现歧义:重载方法之间必须保证相互的参数不同。

this关键字

this可以出现在实例方法和构造方法中,但不可以出现在类方法中

在构造方法中使用this:代表使用该构造方法所创建的对象

在实例方法中使用this:只能通过对象来调用,代表正在调用该方法的对象。

包语句: package

有包名的类的存储目录:例:package tom.package ---->c:\1000\tom\jiafei

运行有包名的主类:例:java tom.jiafei.主类名

import语句

引入类库中的类:import语句,可以有多个import语句,必须写在package语句和源文件中类的定义之间

引入自定义包中的类

访问权限

访问权限指对象是否可以通过“.”运算符来操作自己的变量或通过“.”运算符调用类中的方法。

私有变量和私有方法:用关键字private修饰,如果类中的某个成员是私有类变量或方法,那么在另外一个类中,不能通过此类名来操作这个私有类变量或类方法。

共有变量和共有方法:public修饰,如果类中的某个成员是public类变量或方法,那么在另外一个类中,能通过此类名来操作这个私有类变量或类方法。

友好变量和友好方法:不用private,public,protected修饰的变量和方法。如果类中创建了一个对象,若在同一个包中,那么在另外一个类中,能通过此类名来操作这个私有类变量或类方法。

受保护的成员变量和方法:用protected来修饰

public类与友好类

基本类型的类封装

Java提供与基本数据类型相关的类,实现了对基本数据类型的封装。

对象数组

数组的元素是对象

Student [] stu;
stu=new Student[10];
JRE扩展和jar语句

创建一个jar文件:jar cfm Jerry.jar hello.mf moon\star\TestOne.class moon\star\TestTwo.class

放入扩展中

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

  • 问题1:
  • 问题1解决方案:
  1. 在写类名时,错误的加上了空格,导致错误。
  2. 在定义s时,String S写成了大写
  • 问题2:

  • 问题2解决方案:在Ladder.java中将above,bottom,height错误定义成float形式。

  • 问题3:

  • 问题3解决方案:在此问题中,虽然错误标识指向100,但其实是;误写为中文中的符号。在对这一行仔细检查之后发现。

  • 问题4:

  • 问题4解决方案:在此问题中,应引入的是Date类,输入错误导致。

  • 问题5:

  • 问题5解决方案:

  1. suhu.com文件没有放在同一个文件里,导致文件搜索不到。
  2. getAge写成setAge导致没有输出,错误!

代码托管

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 37/37 1/1 10/10
第二周 399/436 1/2 12/22
第三周 764/1163 1/3 18/40

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

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

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

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

  7. 20145337 《Java程序设计》第九周学习总结

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. CodeForces - 586D Phillip and Trains 搜索。vis 剪枝。

    http://codeforces.com/problemset/problem/586/D 题意:有一个3*n(n<100)的隧道.一个人在最左边,要走到最右边,每次他先向右移动一格,再上下移 ...

  2. 双节点weblogic集群安装

    一.准备工作 1.环境信息规划 Server name Ip地址 Port 备注 AdminServer 192.168.100.175 7001 管理服务器 Ms1 192.168.100.175 ...

  3. sql中select into和insert into的区别

    select into主要是作用于没有新建表,在复制数据的时候新建 insert into主要作用于已经新建了一个表,直接把要复制的数据复制到新建好的表中

  4. 1067 - Combinations---LightOj(Lucas求组合数)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1067 模板求C(n,m)%p, Lucas模板; #include <iostr ...

  5. Best Cow Line---poj3617(贪心)

    题目链接:http://poj.org/problem?id=3617 题意:有n头牛.刚开始有一个序列.现在想要重新排列.每次从原始的序列头部和尾部取出一个取出一个放到新的序列尾部.最后使得得到的新 ...

  6. javaScript高级教程(七)正则表达式中括号三种常见作用

    括号用来将子表达式标记起来,以区别于其他表达式 比如很多的命令行程序都提供帮助命令,键入 h 和键入 help 的意义是一样的,那么就会有这样的表达式: h(elp)? 字符h之后的elp可有可无这里 ...

  7. redis 介绍

    缓存数据库介绍 NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库,随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是 ...

  8. 十天精通CSS3(2)

    圆角效果 border-radius border-radius是向元素添加圆角边框. 使用方法: border-radius:10px; /* 所有角都使用半径为10px的圆角 */ border- ...

  9. HDU Today(自己的代码不知道哪里错了一直没A抄袭大神的)

    http://acm.hdu.edu.cn/showproblem.php?pid=2112 本题题目意思非常简单,麻烦的就是处理一下字符串,这是我能力欠缺的地方 ;} 先把我有乱有麻烦的错误代码贴上 ...

  10. Bind()事件

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...