--Base--
Java main component is Class
与文件名相同的类是程序的入口
在需要被直接运行的类中, 存在主方法: public static void main(String[] args)
public JVM 可以从外部访问
static 不创建对象也能调用
void 不返回值
main JVM 规定的名字
String[] args 接收命令行参数
◇static, 即属于类而非属于对象; 对于方法, 意味着无需创建对象便可运行, 对于变量, 意味着变量属于类本身而非对象(因此仅加载一次)
定义变量:
int age;
age = 17;
int age = 17;
分为基本数据类型与引用数据类型
整数类型
◇byte: 8位(1字节),取值128~127
◇short: 16位(2字节)
◇int: 32位(4字节)
◇long: 64位(8字节),声明时可能后加L后缀
浮点类型
◇float: 32位(4字节),声明时后加f / F后缀
◇double: 64位(8字节)
字符型
◇char: 16位(2字节),存储单个 Unicode 字符,用单引号包裹,如 'A', '\u00A9' 或 '欧'
布尔型
◇boolean: true or false
它们保存的是一个地址,而非值本身
◇类 Class: 如String(字符串)、自定义类、基本类型的包装类(如Integer,Double)
◇接口 Interface: 如List,Map等
List: 元素可重复的有序列表,如["Alice", "Bob", "Alice"]
Map 映射: 字典,存储键值对,如{101: "Alice", 102: "Bob"}
◇数组 Array: 如基本类型的数组int[]等,引用类型数组String[]、自定义类[]等
◇枚举 Enum
◇注解 Annotation
定义在方法内部
public class Outer {
void processData() {
// 局部内部类定义在方法内部
class LocalHandler {
void handle() {
System.out.println("正在处理特定逻辑...");
}
}
// 必须在方法内部实例化并使用它
LocalHandler handler = new LocalHandler();
handler.handle();
}
}
规则:
◇访问权限修饰符:局部内部类不能使用 public、private 或 protected。它的作用域仅限于该代码块,就像局部变量不能被声明为 public 一样。
◇非静态限制:局部内部类不能声明为 static。
◇访问外部变量(关键点):
它可以访问外部类的所有成员(包括私有成员)。
一个没有名字的局部内部类
new 父类名/接口名() {
// 匿名内部类的类体
@Override
public void method() {
// 实现逻辑
}
};
//对比:
class LudvikoName extends Name{
@Override
public void saymyname(){}
}
LudvikoName name_1 = new LudvikoName();
Name name_2 = new Name(){
@Override
public void saymyname(){}
};