20165312 2017-2018-2 《JAVA程序设计》第3周学习总结
一、第四章知识点总结
1.类
- 类的实现包括两个部分:类声明和类体。
- class是关键字,用来定义类。
class 类名 {
类体的内容
}
- 类名若使用拉丁字母,则首字母大写;若由几个“单词”符合完成,每个单词的首字母大写。
- 类体的内容包括两部分,一部分对变量的声明,另一部分是方法的定义。
- 变量声明部分所声明的变量是成员变量,在整个类中有效,有默认值。;方法中声明的变量以及方法中的参数是局部变量,仅在方法中有效,且没有默认值。
- 声明成员变量时可以同时赋值,但是在类体中不能有单独赋值的语句。
- 方法的定义包括两个部分:方法声明和方法体。方法类似于C中的函数。
方法的类型 方法名称(参数) {
方法体的内容
}
2.构造方法和创建对象
- 构造方法是一种特殊的方法,名字和类的名字相同,并且没有类型。
类名(参数) {
方法体内容
}
- 如果类中没有编写构造方法,系统会默认该类中只有一个构造方法,默认的构造方法是无参数的,且方法体中没有语句。如果类中定义了构造方法,那么java中不提供构造方法。
- 对象的声明:
类的名字 对象名字;
- 为声明的对象分配变量
对象名字 = new 类的名字();
- 使用对象
对象操作自己的变量 对象.变量;
对象调用类中的方法 对象.方法名;
- 当用类创建了一个对象时,类中的成员变量在分配内存空间,这些内存空间称作该对象的实体或对象的变量,而对象中存放着引用。一个类创建的两个对象,如果具有相同的引用,则有完全相同的实体。
3.类与程序的基本结构
- java应用程序从主类的main方法开始执行
4.参数传值
- 当对象调用方法时,参数被分配内存空间,参数变量必须有具体的值。
- 对于基本数据类型的参数,向该参数传递的值的级别不可以高于该参数的级别(精度)。
- 对于引用型(包括数组、对象、接口)的参数,传值传递的是变量中所存放的引用,而不是变量所引用的实体。
5.实例成员与类成员
- 声明成员变量时,用static修饰的是类变量(static变量、静态变量),否则为实例变量
- 不同对象的实例变量不同,所有对象共享类变量
- 声明方法时,用static修饰的是类方法(静态方法),否则为实例方法。
- 类方法不仅可以被任何对象调用,还可以通过类名调用。类方法不能操作实例变量。
6.方法重载
- 方法重载:一个类中可以有多个方法具有相同的名字,但这些方法的参数不相同,或者参数个数不相同,或者参数类型不同。
7.this关键字
- this表示某个对象
- this不能出现在类方法中
- this在类的构造方法中,代表给构造方法所创建的对象。
- this在实例方法中时,代表正在调用该方法的当前对象。当实例变量在实例方法中出现时
this.成员变量
;当static成员变量在实例方法中出现时类名.成员变量
8.包
- package语句作为java源文件的第一句话
package 包名;
- 运行时注意区别
9.import语句
- 一个类可能需要另一个类生命的对象作为自己的成员或者方法中的局部变量,若两个类在同一个包中,是可以的。若不在同一个包中,则可以使用import语句。
- 引入java.util包中的Date类(类库中的类)
import java.util.Date;
- 引入java.util包中的所有的类(类库中的类)
import java.util.*;
- 引入自定义包中的类
import 包名.*;
10.访问权限
- private修饰的成员变量和方法称为私有变量和私有方法。只有在本类中创建该类的对象时,这个对象才能访问自己的私有变量和类中的私有方法。
- public修饰的成员变量和方法称为共有变量和共有方法。在另外一个类中创建该类的对象时,这个对象也可以访问共有变量和共有方法。
- protected修饰的成员变量和方法称为受保护的成员变量和受保护的方法。在另外一个类中创建给类的对象,若这两个类属于同一个包,则可以访问受保护的成员变量和受保护的方法,否则不行。
- 不用public、public、protected修饰的成员变量和方法是友好变量和友好方法。如果源文件使用import引入了别的包中的类,并且用这个类创建了一个对象,则这个对象不能访问友好变量和友好方法。
- 在一个源文件中类都属于同一个包中。
11.基本类型的类封装
- java.lang包中有Byte、Integer、Short、Long、Float、Double、Character。
构造方法 | 调用方法返回对象含有的基本型数据 |
---|---|
Double(double num) | doubleValue() |
Float(Float num) | floatValue() |
Byte(byte num) | byteValue() |
Short(short num) | shortValue() |
Integer(int num) | intValue() |
Long(Long num) | longValue() |
- Character类的构造方法:
Character(char c)
Character类中的一些常用类方法:public static boolean isDigit(char ch) //ch是数字字符返回true
public static boolean isLetter(char ch) //ch是字母返回true
代码托管
统计本周代码行数截图:
二、本周遇到的问题以及对上周的查漏补缺
1.在向码云上传代码的时候出现“Everything uo to date”的错误,我在蓝墨云中提问,根据同学的提示成功上传了代码。
解决方法:
(1)创建新分支:git branch newbranch
(2) 查看新分支是否成功:git branch
(3)切换分支:git checkout newbranch
(4)git add .
(5)git commit -a
(6)合并分支:git merge newbranch
(7)git diff
(8)git push -u origin master
(9)删除分支:git branch -D newbranch
参考链接:博客
2.做上一周测试题目时学习的新的知识
做上一周测试题目有很多不会的,然后自己查书发现了很多遗漏的知识点。还有一些是通过百度的。因为具体的答案还不清楚,具体的题目差错分析会在下周的博客中写。
1.Ctrl+Shift+T
创建窗口,Alt+number
进入第n个窗口
2.计算器中八进制表达方式:在前面加一个0
3.计算器中十六进制表达方式:以0x/0X开头
4. >>
: 用于有符号的右移,又叫做算数右移, 在移动过程中,最高位补符号位
>>>
:用于无符号的右移,在移动过程中,最高位补0
<<
:用户左移,这里没有符号的概念,左移后,最低位补0
参考链接:java中<<,>>和>>>
5.复制数组的四种方法
- 循环结构
- 使用Object类的clone()方法
- 使用Systems的arraycopy
- Arrarys类的copyOf()方法与copyOfRange()方法