
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
类别运算符名称说明示例结果优先级结合性算术运算符加法数值相加或字符串连接4左→右减法数值相减10 - 464左→右乘法数值相乘3 * 4123左→右除法整数除法或浮点数除法10.0 / 33.333...3左→右取模求余数10 % 313左→右++自增前/后自增a=5;b=a++a=6, b=52右→左--自减前/后自减a=5;b=a--a=4, b=52右→左关系运算符大于比较大小5 > 3tr
不能直接完成所有元素的填充,因为它会将每一“行”视为一个对象。正确的方式是遍历每一行,然后对每一行(它本身是一个一维数组)分别使用。在 Java 中,二维数组本质上是“数组的数组”。因此,你可以只指定行数,然后为每一行分别创建不同长度的数组。仅将数组中从起始索引(包含)到结束索引(不包含)的部分填充为指定的值。声明一个数组变量,告诉编译器这个变量将用于引用一个数组。创建数组时指定它的大小,数组中的
通常我们调用Math// 静态导入Math类的所有静态成员 double result = sqrt(pow(x , 2) + pow(y , 2));// 直接使用方法名Math.*;// 静态导入Math类的所有静态成员// 直接使用方法名。
静态变量是使用static关键字修饰的变量,也称为类变量。属于类而非对象:静态变量在内存中只有一个副本,被该类的所有对象共享类加载时初始化:静态变量在类加载到JVM时完成初始化,且在整个程序运行期间只初始化一次直接通过类名访问:无需创建对象,直接使用类名.静态变量名的方式访问// 静态变量,记录创建的对象数量count++;// 每次创建对象时,count增加System.out.println(
(没有无参构造),子类构造方法必须。
接口的声明修饰符只能是public或默认(包级可见)+abstract(隐式)// 1. 属性(常量):必须且默认为 public static final// 2. 抽象方法:必须且默认为 public abstract// 3. 默认方法 (JDK 8+):允许有方法体,实现类可继承或重写// 4. 静态方法 (JDK 8+):直接通过 接口名.方法名() 调用一个接口对应一个字节码文件。
抽象类是用abstract关键字修饰的类。它的核心特点是不能被实例化,只能作为其他类的基类(父类)被继承。[访问修饰符] abstract class 类名 {// 类体// 抽象类可以包含普通方法、属性等// 抽象方法(无方法体)抽象方法是用abstract关键字修饰且没有方法体的方法。它充当一种“契约”,强制要求子类必须提供具体的实现。// 正确:没有花括号 {}抽象方法的硬性规则:如果一个类
JVM字符串常量池:位置、创建流程、对象个数与 intern()
浅拷贝:只复制对象本身的“第一层”数据。基本类型(intdouble等)会直接复制值。引用类型(如List、自定义对象)只会复制“引用地址”,新旧对象会指向同一份内部数据。“浅拷贝”的本质:只复制第一层字段,不复制引用对象内部结构。深拷贝:不仅复制对象本身,还会把对象内部所有引用对象也“递归地复制一份”。因此拷贝后,新对象与原对象内部引用的数据互不影响。
Java 语言一直允许(inner class、static nested class、局部类、匿名类)彼此访问对方的private成员。但在,这更多是“语言层的承诺”,JVM 并没有把“同一顶层类及其嵌套类集合”当作一个统一的访问控制单元,因此 javac 需要用一些技巧把它实现出来;而则把这件事变成了。







