1.匿名对象的用法
new 构造方法();//没有应用(没有定义对象名)
创建比较多对象时避免了命名的尴尬;
用途:一般使用在值需调用一次该对象的时候,用完内存就会将这个匿名对象释放。
匿名对象绝对不会用于存储数据。
2.JAVA四大权限修饰
public 公共权限修饰符 全部都能访问
protected 受保护的权限修饰符 同一个包能够访问,如果不同包,只有子类能够访问
protected 对外提供了公共方式进行访问
获取的方法:get+属性名(第一个字母大写)
修改的方法:set+属性名(第一个字母大写)
什么都不写 默认的权限 只有同一个包才能访问
private 私有权限修饰符 只有本类能够访问,外界无法访问
3.空参构造
(1)如果一个类一个构造方法都不写,那么这个类默认会隐藏一个空参构造
(2)如果写了有参构造,不写空参构造,那么隐藏的那个空参构造就会被覆盖
4.static静态修饰符
修饰成员属性:静态属性
归属于类,使用类名调用:
类名.属性名;
被本类所有对象共享
修饰成员方法:静态方法
归属于类,使用类名调用:
类名.方法名();
被本类所有对象共享
静态方法无法直接访问非静态的数据
5.继承是 Java 面向对象编程技术的一块基石,是面向对象的三大特征之一,也是实现软件复用(软件的更新与功能迭代)的重要手段,继承可以理解为一个对象从另一个对象获取属性的过程。
6.继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。
7.通过 extends 关键字可以申明一个类是继承另外一个类而来的。
public class 子类 extends 父类{
//成员属性
//成员方法
}
8.关键字 abstract 抽象修饰符
9.abstract修饰方法,子类必须重写父类的抽象方法(抽象方法会出现在抽象类,不会出现再普通类)
10.抽象类无法实例化(new 出来 new对象)
11.抽象类只能被继承
12.java的内存垃圾回收机制
可以看看这两博客有比较详细的分析,有需要的可以了解一下:
https://www.cnblogs.com/TheGCC/p/14738156.html
https://blog.csdn.net/woaini886353/article/details/124382091
13.插入排序:
public class Demo01{
public static void insertSort(int[] arr){
for (int i = 1; i<arr.length; i++){
//(1)从i=1开始,保证从下一位往前面开始对比
for (int j = i-1; j>=0; j--){
//(2)
if(arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}else {
break;
}
}
}
System.out.println(Arrays.toString(arr));
}
public static void main(String[] args) {
int[] arr = {6,1,9,2,3,7,19,15};
insertSort(arr);
}
}
(2)后一位和前一位对比,如果前一位比后一位大,则两者互换位置,如果前一位比后一位小,则跳过对换,进行最外层下一次循环,下一个循环在和前一位对比如此循环后就达到了,排序的效果