# 20155327 2016-20017-3 《Java程序设计》第3周学习总结
教材学习内容总结
第四章 认识对象
区分基本类型与类类型
基本类型:
1、整数:包括int,short,byte,long ,初始值为0
2、浮点型:float,double ,初始值为0.0
3、字符:char ,初始值为空格,即'' ",如果输出,在Console上是看不到效果的。
4、布尔:boolean ,初始值为false
类类型:
除去基本类型的类型
对象(Object):存在的具体实体,具有明确的状态和行为
类(Class):具有相同属性和行为的一组对象的集合,用于组合各个对象所共有操作和属性的一种机制
从类看对象:类定义可以视为一个具有类似特性与共同行为的对象的模板,可用来产生对象
从对象看类:类的产生,是从少数实例,推广到大量相似实例的抽象化过程(abstraction)
类是对象的设计图,对象是类的实例,生成对象要先定义类
理解对象的生成与引用的关系
A a1 = new A();
它代表A是类,a1是引用,a1不是对象,new A()才是对象,a1引用指向new A()这个对象
决定类生成对象的方式:构造方法
掌握String类和数组
数组对象:Java中,数组是对象
与C语言不同,Java检查数组边界,越界会触发ArrayIndexOutOfBoundsException异常
数组访问的foreach语法
string类:
String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。
String类的包含如下定义:
/** The value is used for character storage. */
private final char value[];
/** The offset is the first index of the storage that is used. */
private final int offset;
/** The count is the number of characters in the String. */
private final int count;
用于存放字符的数组被声明为final的,因此只能赋值一次,不可再更改。
理解封装的概念
封装(Encapsulation)实际上使用方法(Method)将类的数据隐藏起来,控制用户对类的修改和访问数据的程度,隐藏对象细节,将对象当作黑箱进行操作
通过构造方法(构造函数)封装初始化流程
通过成员方法(函数)封装操作
通过成员变量封装数据
掌握构造方法的定义
构造方法负责对象的初始化工作,为实例变量赋予合适的初始值。构造方法必须满足以下语法规则:
(1) 方法名必须与类名相同。
(2)不要声明返回类型。
(3)不能被static、final、synchronized、abstract和native修饰。
理解重载的概念
当通过new语句创建一个对象时,在不同的条件下,对象可能会有不同的初始化行为。当通过new语句创建一个对象时,在不同的条件下,对象可能会有不同的初始化行为。
用this语句来调用其他构造方法时,必须遵守以下语法规则:
(1)假如在一个构造方法中使用了this语句,那么它必须作为构造方法的第一条语句(不考虑注释语句)。
(2)只能在一个构造方法中用this语句来调用类的其他构造方法,而不能在实例方法中用this语句来调用类的其他构造方法。
(3)只能用this语句来调用其他构造方法,而不能通过方法名来直接调用构造方法。
掌握static的应用
static修饰的成员变量和成员方法习惯上称为静态变量和静态方法,可以直接通过类名来访问,访问语法为:
类名.静态方法名(参数列表...)
类名.静态变量名
用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块
教材学习中的问题和解决过程
- 1问题:无法正确理解String s="java";
String s=new String("java")之间的区别?
-解决方案:
通过网上查找,发现有人总结了。
1、String s="java"; 这里产生得到一个字符串常量。系统首先会去“常量池”寻找,看是否有“java”常量存在,如果有那么就将这个常量“java”赋给s,如果没有则系统在常量池里创建“java”,并将其给s。
2、String s = new String("java"); 意思是根据常量“java”创建一个字符串的对象,如此他首先会执行1中的操作,然后根据常量“java”在堆中创建对象,并为其分配内存。
当然在使用没有什么区别,但本质是有区别地
- 2问题 在网上找到一个感觉分类的很清晰的重载构造
- 解决方案
例程 Employee.java
public class Employee {
private String name;
private int age;
/** 当雇员的姓名和年龄都已知,就调用此构造方法 */
public Employee(String name, int age) {
this.name = name;
this.age=age;
}
/** 当雇员的姓名已知而年龄未知,就调用此构造方法 */
public Employee(String name) {
this(name, -1);
}
/** 当雇员的姓名和年龄都未知,就调用此构造方法 */
public Employee() {
this( "无名氏" );
}
public void setName(String name){this.name=name; }
public String getName(){return name; }
public void setAge(int age){this.age=age;}
public int getAge(){return age;}
}
代码托管
上周考试错题总结
- 错题:~0b1011的十进制表示
-由00001011的反码(~)表示11110100取反10001011再加上一个1得出等于-12。
学习进度条
| 代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
|---|---|---|---|---|
| 目标 | 5000行 | 30篇 | 400小时 | |
| 第一周 | 10/10 | 1/4 | ||
| 第二周 | 80/100 | 1/5 | 12/22 | |
| 第三周 | 220/320 | 1/6 | 16/38 |
参考资料
- 《Java学习笔记(第8版)》学习指导
百度百科
-老师给的博客。
# 20155327 2016-20017-3 《Java程序设计》第3周学习总结的更多相关文章
- 20155327 2017-2018-2 《Java程序设计》第一周学习总结
20155327 2017-2018-2 <Java程序设计>第一周学习总结 教材学习内容总结 三大平台: 1.Java SE:JVM,JRE,JDK,java语言 JVM:Java虚拟机 ...
- 20155327 2016-2017-2 《Java程序设计》第一周学习总结
20155327 2016-2017-2 <Java程序设计>第一周学习总结 教材学习内容总结 浏览教材,根据自己的理解每章提出一个问题 1.JAVA SE中JVM,JRE与JDK分别是什 ...
- 20155304 2016-2017-2 《Java程序设计》第九周学习总结
20155304 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 JDBC简介 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC ...
- 20155330 2016-2017-2 《Java程序设计》第九周学习总结
20155330 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 学习目标 了解JDBC架构 掌握JDBC架构 掌握反射与ClassLoader 了解自定义泛 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
随机推荐
- GTK+开发环境搭建
GTK+开发环境搭建 "工欲善其事,必先利其器"首先介绍一下GTK+开发环境的搭建,网上很多所谓的GTK的开发环境的搭建基本都是抄来抄去,也不知道有没有人使用他们介绍的方法搭建并编 ...
- Angular Reactive Form - 填充表单模型
setValue 使用setValue,可以通过传递其属性与FormGroup后面的表单模型完全匹配的数据对象来一次分配每个表单控件值. 在分配任何表单控件值之前,setValue方法会彻底检查数据对 ...
- vue 项目搭建笔记1
1.首先安装node.js(傻瓜式安装,安装路径默认C盘) 2.打开node.js command prompt 3.进入想放项目的文件夹.如D: -->回车 4.进入具体文件夹,如cd wo ...
- WebKit由三个模块组成-Webkit模块介绍
2. Webkit 源代码由三大模块组成: 1). WebCore, 2). WebKit, 3). JavaScriptCore. WebCore:排版引擎核心,WebCore包含主要以 ...
- P2668 斗地主
题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的AAA到KKK加上大小王的共545454张牌来进行的扑克牌游戏.在斗地主中,牌的大小关 系根据牌的数码表示如下: ...
- luogu P2015 二叉苹果树
嘟嘟嘟 这应该算一道树形背包吧,虽然我还是分不太清树形背包和树形dp的区别…… 首先dp[i][u][j] 表示在u的前 i 棵子树中,留了 j 条树枝时最大的苹果数量,而且根据题目描述,这些留下的树 ...
- eclipse主题皮肤设置
这里先声明,下面的方式适合最新版本的Eclipse Luna,旧的版本可以下载我提供的这个插件,并将其放在eclipse目录下的plugins目录下即可. 插件下载地址:http://download ...
- leetcode231 2的幂 leetcode342 4的幂 leetcode326 3的幂
1.2的幂 正确写法: class Solution { public: bool isPowerOfTwo(int n) { ) return false; )) == ; } }; 错误写法1: ...
- rocketmq命令【转】
首先进入 RocketMQ 工程,进入/RocketMQ/bin 在该目录下有个 mqadmin 脚本 . 查看帮助: 在 mqadmin 下可以查看有哪些命令 a: 查看具体命令的使 ...
- CSP 试题编号201803-2 Java实现
package HB; import java.util.Scanner; public class Test_06 { public static void main(String[] args) ...