Java Intro

    --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

局部内部类 Local Inner Class

定义在方法内部

public class Outer {
void processData() {
// 局部内部类定义在方法内部
class LocalHandler {
void handle() {
System.out.println("正在处理特定逻辑..."); } } // 必须在方法内部实例化并使用它 LocalHandler handler = new LocalHandler(); handler.handle(); } }

规则:
◇访问权限修饰符:局部内部类不能使用 public、private 或 protected。它的作用域仅限于该代码块,就像局部变量不能被声明为 public 一样。
◇非静态限制:局部内部类不能声明为 static。
◇访问外部变量(关键点): 它可以访问外部类的所有成员(包括私有成员)。

匿名内部类 Anonymous Inner Class

一个没有名字的局部内部类

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(){}
};