1 零散知识
JVM是Java Virtual Machine(Java虚拟机)的缩写
JAVA 中对象占用的内存由JVM统一管理 当一个对象不再使用的时候 不需要手动释放 JVM会自动清理
方法命名范 第一个单词小写 后面的大写第一个字母
基本类型传进函数的是一个值(只是一个副本)
但引用类型传的是对象的引用(可以改变对象本身)
void getNameById(int x) / (String y)
2 Scanner
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println("输出" + str);
sc.close();
3 构造方法
构造方法没有返回值
在构造一个对象的时候 先进行对象的赋值 再调用构造函数
Student(String name) { this.name = name; }
自己写了构造函数以后 会把系统默认给的构造函数覆盖掉
4 静态内容
static 类所拥有的内容 不能用this
可以看为所有对象共同拥有的内容 类似于全局变量
Student s = new Student();
System.out.println(s.a);
s.a = 10;
Student ss = new Student();
System.out.println(ss.a);
因此不建议用对象 而是用类名 调用static内容
5 代码块
代码块和成员变量一样 在对象构造之前就会运行 相当于初始化
static代码块 在{之前加一个static 类似的它会在类加载之前和静态变量一起运行
6 Package 和 Import
为了把不同作用的类分开整理 我们引用了Package
同一个文件夹(包)下面的类不能够重名
同一个Package内是不能用到另外Package的类 于是我们Import(引用)需要用到的Package (类似于#include<>)
所有项目默认导入java.lang这个包
静态导入
导入某个类拥有的静态方法或者是静态变量
7 访问控制
(默认)
private default protected public
同一类 YES YES YES YES
同一包中类 YES YES YES
子类 YES YES
其他类 YES
只有和文件名相同的类才能申明Public 有且只有一个 其余不行
8 数组·
JAVA中数组是一个类
int[] arr = new int[10];
String[] str = new String[10];
静态初始化
int[] arr = new int[] = {1, 2, 3};
不手动初始化就和变量一样系统初始化 (0 和 null)
得到长度 arr.length();
这是一个final类型的变量 相当于const 不能被改变
遍历数组可以for(int i = 0; i < arr.length; i
也可以
for(int i : arr) { System.out.println(i); }
二维数组
int[][] arr = {
{1, 2},
{1, 3},
{2, 3}
};
System.out.println(arr[2][1]);
数组可以用来可变长传参