1.数据类型
1.基本数据类型
(1)数值
整型 (单位是字节) byte(1) short(2) int(4) long(8)
浮点型 float(4) double(8)
(2)字符型 char(2位)
(3)布尔型 boolean(1位)
2.引用数据结构
(1)数组
(2)类对象
(3)接口对象
实际上就一种,对象
2.变量
(1)(4种位置的定义变量)
1.形参 2.局部变量 3.属性 4.静态属性
(2)定义的格式
数据类型(基本 | 引用) 变量名=初始化
(3)使用时的格式
引用类型的变量; (一定指向一个对象 或者是null)
int[] array=new int[10]; //array指向一个数组对象
Node node=new Node(val); //node指向一个Node 对象
Node cur=node; //cur指向(node指向的Node对象)
Node head=null; //没有指向对象
3.基本语句
(1)分支
if(布尔类型的表达式){ }
if(head==null){......}
(2)循环
while(布尔类型的表达式){ }
while(cur=null){...}
while(Node cur=null){....} //错误
for(int i=0;i<10;i++){....}
for(Node cur=head;cur!=null;cur=cur.next){......}
4.类
4.1类的语法
(1)定义类
访问限定符 class类名称{
//1.属性
//2.构造方法
//3.普通方法
}
(2)方法的定义格式
限定符 返回值类型 方法名称(形参列表){
正常代码语句
}
(3)方法的调用格式
对象.方法名(实参) arrayList.pushBack(1);
变量=对象.方法名(实参) Node result=new Solution().reverseList(n1);
4.2静态属性 | 静态方法
静态属性 static int count=0;
1.保存在类所在的位置(方法区)
内存区域
1.栈:形参/局部变量
2.堆区:对象
3.方法区:
类(静态属性)
方法
静态方法
2.所有对象之间的共享
3.和对象解绑
静态方法
1.和对象解绑
2.无法调用普通方法
3.无法访问普通属性
4.无法使用 this
4.3 this 的作用
1.调用其他构造方法(必须出现在构造方法的最开始)
2.代表对象本身的引用
3.访问自身的属性及方法
4.4 属性初始化
普通属性(构造对象时)
1.定义时初始化
2.构造代码块
3.构造方法
静态属性(类加载时 (Class Load))
1.定义时初始化
2.静态构造代码块
!!!注意!!!
1.类通常只会被加载一次
2.对象是被构造多次的,而且对选哪个的构造一定在类加载之后
3.什么是加载类
javac 把 *.java 文件编译成类文件 *.class
java 运行(类加载发生在这个时期)
加载 ArrayList 这个类
1.找到ArrayList.class
2.在方法区中找到合适的位置,解析ArrayList.class 文件,放置到方法区
4.5 构造对象语法
new 构造方法调用();
Node cur =new Node(10);