第一周总结
Java
1.1变量的命名规则:
1.1.1.标识符:
标识符用来为程序的常量,变量,方法,类,接口和包命名。
标识符的命名规则:1.标识符由字母,数字,下划线,或者美元符号组成。2.标识符区 分大小写。3.标识符命名不能以关键字、布尔值、和null。4.标识符的首字母以字母、下 划线或美元符号开头。不能以数字开头。
1.2 数据类型:
1.2.1 基本数据类型:一共有八种分别是 boolean、byte、char、short、int、long、float、double。
1.2.2 引用数据类型:类、接口、枚举、数组。
储存的位数越多,类的级别就越高。
赋值运算时,数据类型的转换有自动转换和强制类型转换。
(1)自动转换:将低级别的类型赋值给高级别类型时将进行自动类型转换。
(2)强制类型转换:将高级别的类型赋值给低级别的类型时,必须进行强制类型转换。
// int i; short j = short(i);
2.3常用运算符
tips:使用+=时不会进行类型转换。
逻辑运算符:是对两个布尔类型的值进行运算,其结果还是布尔类型。
位运算符:
& 按位与 两个操作数都是1,结果才是1.
| 按位或 其中一个操作数为1,结果就为1.
^ 按位异或 两个操作数相同,结果为0.两个操作数不同,结果为1.
~ 按位非 操作数为1,结果为0。操作数为0,结果为1.
<< 左移 右侧空位补0.
>> 右移 左侧空位补最高位,即符号位。
>>> 无符号右移 左侧空位补0.
Arrays的方法
Arrays.equals(arr1,arr2) 判断两个数组是否相等
Arrays.sort() 对数组的元素进行升序排序。
Arrays.toString(arr) 将数组转换为字符串输出。
Arrays.fill(arr,val) 将数组的所有元素替换为相同的值。
Arrays.copyOf(arr,num) 将数组复制成一个长度为num的。超过补0.
Arrays.binarySearch(arr,key)
方法
方法是完成特定功能的,相对独立的程序段。
方法的声明:[修饰符] 返回值类型 方法名称([参数表]){}
修饰符: 公共访问修饰符public、私有访问修饰符 private、 保护访问修饰符protected
返回值类型:返回的运算结果的数据类型,如果没有返回值,就是用void关键字。
类
类的定义:[访问修饰符] class 类名{}
方法的重载
一个类中允许出现方法名相同,参数个数、类型、顺序不同(参数列表不一样)的方法存在,这就是方法的重载
方法的重载与返回值无关
在重载中,调用哪个方法由参数列表决定,如果出现可变参与参数列表都符合要求的情况,调用精度最高的方法(即不是可变参的方法)
方法重载在调用时,根据实参与形参在类型、个数、顺序一一匹配的规则调用
实例变量:
定义在类的内部,方法外部的变量,也称为属性
作用域
实例变量的作用域是整个类,在这个类的所有实例方法中都可以访问。
实例变量可以在定义 的时候不初始化值,因为实例变量在实例化对象后会有默认值,默认值根据实例变量的类型决定。
局部变量的作用域仅限定于定义它的方法
局部变量没有默认值,必须初始化
在同一个方法中不允许有同名的局部变量,在不同的方法中可以有同名的局部变量
在一个类中,局部变量可以和实例变量同名,但在使用时局部变量优先被使用
构造方法
构造方法的定义:[访问修饰符] 方法名([参数列表]){}
构造方法是一个特殊的方法
构造方法没有返回值,也不是void
默认构造方法没有参数
构造方法的方法名必须与类型相同,包括大小写
构造方法分为有参构造和无参构造(默认构造),它们之间是重载关系。
如果不自定义构造方法,那么 Java 会自动给类写一个 public 无参构造。如果声明了构造方法 (不管是否有参数) Java 都不会再给这个类生成无参构造了
static方法
使用static修饰的方法就叫static(静态)方法,它属于类,也叫类方法
可以使用 类名.方法名 直接调用static方法(推荐使用这个)
也可以使用 对象.方法名调用(不推荐使用这个,用这种方式会被鄙视)
static 方法在类被加载的时候就加载了(并不意味着要执行),而且只加载一次
static 初始化和实例初始化类似,作用是初始化 static 变量。只在类第一次加载的时候执行
实例方法和static方法
都属于成员方法
实例方法在对象初始化的时候加载
由于 static 方法比实例方法的声明周期长,所以在一个类中实例方法可以直接调用 static方法,而 static 方法不能直接调用实例方法
static 方法中不能够使用实例变量,而实例方法可以
static 方法中不能够使用 this
this
哪个对象的 this 就代表当前对象,也就是说 谁调用就是谁
this 其实是一个引用,对自身的一个引用。所以 this 能调用实例变量、实例方法、构造方法、类变 量、类方法。不能调用局部变量
不推荐使用 this 来调用类变量或类方法。在本类中可以直接调用类变量和类方法,在其他类中使用 类 名.类变量/类方法 调用
封装
封装就是对类内部细节进行隐藏,对外不可见。外部程序不能直接访问。
##### 访问修饰符:public 公开的 、 protecte受保护的、[]包访问修饰符、private私有的
访问权限从大到小 public --> protected --> 缺省 --> private
访问修饰符 不能修饰局部变量
继承
继承使用 extends 关键字,现有类称为父类/超类/基类,新类称为子类/扩展类。
重写
重写(Override) 一般发生在继承中,描述子类重写父类的方法。当父类的方法不能满足子类的需求 时,子类可以重写此方法,也叫覆盖。
子类中有和父类中同名且同参(相同)的方法,称为方法的重写(覆盖)
方法重写需要满足的条件:
- 重写一定发生在继承关系中 2. 重写方法与被重写的方法要相同(方法名称,参数,返回值) 3. 重写方法的访问权限不能缩小 注意: 不能重写父类中 final 修饰的方法,不能重新给 final 修饰的属性赋值。
心得体会:
今天学习的感觉更难,更绕,昨天学会的好像有和今天的弄混淆了。还需要多练习,今天晚上的练习让我觉得自己的遮蔽,和隐藏这两个概念掌握的不是很清楚,所以今天晚上没有总结这两个概念,等明天白天来的时候,再继续的研究一下,然后继续总结。
评论留言