复习记录1 数组,类,对象,常用方法
1.输出数组所有数据可以直接用toString方法
//利用sort进行排序
public static void main(String[] args) {
int a[] = new int[] { 18, 62, 68, 82, 65, 9 };
Arrays.sort(a);
String c=Arrays.toString(a);
System.out.println(c);
Arrays.fill(a, 5);//使用同一个值进行填充
}
输出一个数组的方法
char []x= {'w','w','h'};
System.out.println(Arrays.toString(x));
2.
把一个数组的值,复制到另一个数组中
System.arraycopy(src, srcPos, dest, destPos, length)
src: 源数组
srcPos: 从源数组复制数据的起始位置
dest: 目标数组
destPos: 复制到目标数组的起始位置
length: 复制的长度
3.引用的概念,如果一个变量的类型是 类类型,而非基本类型,那么该变量又叫做引用。即指向一个对象
4.没有new的引用,他们所指向的地址都是一样的
//如果一个变量是基本类型
//比如 int hp = 50;
//我们就直接管hp叫变量
//=表示赋值的意思。
//如果一个变量是类类型
//比如 Hero h = new Hero();
//我们就管h叫做引用。
//=不再是赋值的意思
//=表示指向的意思
//比如 Hero h = new Hero();
//这句话的意思是
//引用h,指向一个Hero对象
5 若l已经有一个对象,若再new一个,他就会和原来的对象分手,之前的对象谁都无法访问
6 父类不能用子类的东西,子类可以用父类的东西
重写toString在子类中写
7.一旦写构造方法,默认的无参构造方法就没了
8.this就是当前对象,就是我
9.在一个构造方法中调用另一个构造方法,可以用this()!!!
10.包: package 把比较接近的类,规划在同一个包下
11使用private修饰属性
自身:是可以访问的
同包子类:不能继承
不同包子类:不能继承
同包类:不能访问
其他包类:不能访问
属性通常使用private封装起来
方法一般使用public用于被调用
会被子类继承的方法,通常使用protected
12当一个属性被static修饰的时候,就叫做类属性,又叫做静态属性 ,最好用类名.类属性
13
类方法: 又叫做静态方法
对象方法: 又叫实例方法,非静态方法
访问一个对象方法,必须建立在有一个对象的前提的基础上
访问类方法,不需要对象的存在,直接就访问
14 静态属性的初始化第二种方法
static{
itemCapacity = 6;//静态初始化块 初始化
}
静态属性的初始化:声明初始化---》初始化块--》构造初始化
当对一个对象实例化时,首先会加载实例变量,然后再执行初始化代码块,最后执行构造方法
15单例模式又叫做 Singleton模式,指的是一个类,在一个JVM里,只有一个实例存在。
看业务需求,如果业务上允许有比较充分的启动和初始化时间,就使用饿汉式,否则就使用懒汉式
16 向上转型 子类向父类转,就是把子类的属性给儿子,看看父亲能不能当儿子
直接(父类=子类)就行了。。。
向下转型 父类向子类转(强转)有时会出问题,就是把父类的属性给儿子,看看儿子
当爹行不到底能否转换成功? 一个很简单的判别办法
把右边的当做左边来用,看说得通不
没有继承关系的两个类,互相转换,一定会失败
17 多态:操作符的多态,如+,+数字的时候就是相加,对于字符串来说就是字符串连接符
18隐藏,是子类的类方法覆盖父类的类方法 类方法一定要用类名加上类方法
如 Hero h=new ADHero();
h.类方法();此时调用的就是自身的类方法,因为h的类型就是Hero
19 super.父类属性 ,,,,可以调用父类的属性,和方法,都可以
20 当一个对象没有任何引用指向的时候,它就满足垃圾回收的条件
当它被垃圾回收的时候,它的finalize() 方法就会被调用。
21 ”==“更准确的讲,用于判断两个引用,是否指向了同一个对象,反正
equals() 用于判断两个对象的内容是否相同 所以说相当问题用equals,当然啦,equals只能用于对象啊
final 修饰类,类不能被继承,可以叫最终类;修饰方法,方法不能重写;修饰基本变量,变量只能赋值一次,修饰引用
只有一次指向对象的机会;
public static final int itemTotalNumber = 6;常量,#define
22抽象类和接口的区别:
区别1:
子类只能继承一个抽象类,不能继承多个
子类可以实现多个接口
区别2:
抽象类可以定义
public,protected,package,private
静态和非静态属性
final和非final属性
但是接口中声明的属性,只能是
public
静态
final的
即便没有显式的声明
23默认方法:接口也可以提供具体方法了,开头加default
原因和好处:
假设没有默认方法这种机制,那么如果要为Mortal增加一个新的方法revive,那么所有实现了Mortal接口的类,
都需要做改动。
但是引入了默认方法后,原来的类,不需要做任何改动,并且还能得到这个默认方法
通过这种手段,就能够很好的扩展新的类,并且做到不影响原来的类
24 Java可以即extends,然后再implement
25 所有基本类型都有对应的类类型 int—》integer 这就叫封装类 char对应的封装类是Character
int i = 5;
//把一个基本类型的变量,转换为Integer对象
Integer it = new Integer(i);
//把一个Integer对象,转换为一个基本类型的int
int i2 = it.intValue()
Byte,Short,Integer,Long,Float,Double
这些类都是抽象类Number的子类
装箱:不需要调用构造方法,通过=符号自动把 基本类型 转换为 类类型 就叫装箱
int i=5;
Integer it2 = i;
拆箱: int i3 = it2;就是将类类型变为基本类型
下边知道就行
//int的最大值
System.out.println(Integer.MAX_VALUE);
//int的最小值
System.out.println(Integer.MIN_VALUE);
26 Java也可以进行格式化输出 注意是printf不是print
printf和format能够达到一模一样的效果,如何通过eclipse查看java源代码 可以看到,在printf中直接调用了format
27 将字符串转为字符数组:
String str = "abc123";
char[] cs = str.toCharArray();
28
字符串即字符的组合,在Java中,字符串是一个类,所以我们见到的字符串都是对象
常见创建字符串手段:
1. 每当有一个字面值出现的时候,虚拟机就会创建一个字符串
2. 调用String的构造方法创建一个字符串对象
3. 通过+加号进行字符串拼接也会创建新的字符串对象
###
immutable 是指不可改变的
比如创建了一个字符串对象
String garen ="盖伦";
不可改变的具体含义是指:
不能增加长度
不能减少长度
不能插入字符
不能删除字符
不能修改字符
一旦创建好这个字符串,里面的内容 永远 不能改变
String 的表现就像是一个常量
29字符数组转为字符串:
String str=String.valueOf(c);
System.out.println(str);
输出字符串数组:System.out.println(Arrays.toString(str));//str是字符串数组
当字母大小不同的时候我们可以将字符转为对象,调用tolowcase转为相同大小的数字比较
30。
charAt 获取字符 示例代码
toCharArray 获取对应的字符数组 示例代码
subString 截取子字符串 示例代码
split 分隔 按所给字符分割成数组
trim 去掉首尾空格 示例代码
toLowerCase
toUpperCase 大小写 示例代码
indexOf
lastIndexOf 定位
contains 是否包含
replaceAll 替换所有的
replaceFirst 仅仅替换遇到的第一个
startsWith //以...开始
endsWith //以...结束
31 一定要记住==对于字符串来说是判断是否为同一个对象的
而 .equals是用来判断是否相等的,会判断字符的大小等等
equalsIgnoreCase忽略大小写判断内容是否一致
32 https://how2j.cn/k/date/date-calendar/347.html 这个是日期类,以后用到再看把

浙公网安备 33010602011771号