随笔分类 - Java SE
摘要:1、可变字符序列 2、提供一个与 StringBuffer 兼容的 API,即两个类的方法相同 3、StringBuilder 类的方法没有互斥处理,即没有 synchronized,不保证同步,线程不安全 3、是 StringBuffer 的一个简易替换 4、直接父类 AbstractString
阅读全文
摘要:1、实现接口 Serializable,即 StringBuffer 对象可以串行化,进行网络传输 2、直接父类是 AbstractStringBuilder 3、AbstractStringBuilder 存在属性:char[] value,value 数组位于堆中,存放字符串内容,当字符串内容变
阅读全文
摘要:1、String 对象是一组字符序列,用于保存字符串 2、字符串常量对象是双引号括起的字符序列 3、字符用 Unicode 编码,一个字符(不区分字母、汉字)占用两个字节 4、String 类实现 Serializable 接口,可以串行化,在网络传输;实现 Comparable 接口,对象之间可以
阅读全文
摘要:1、包装类是八种基本数据类型相应的引用类型 基本数据类型 boolean char byte short int long float double 包装类 Boolean Character Byte Short Integer Long Float Double 2、包装类类型、基本数据类型相互
阅读全文
摘要:Throwable 类是 Java 语言中所有错误和异常的 Throwable 类 1、Error:JVM 无法解决的严重问题,程序崩溃 2、Exception:因编程错误或偶然的外在因素导致的一般性问题 (1)运行异常(RuntimeException):非必须处理,JVM 的正常操作期间可以抛出
阅读全文
摘要:概述 1、可以被编译或运行,不影响程序逻辑,相当于嵌入代码的补充信息 2、JDK 内置的基本注解类型 (1)@Override (2)@Deprecated (3)@SuppressWarnings 3、@interface 不是代表接口 interface,而是表示注解 @Override @Ta
阅读全文
摘要:1、枚举是一组常量集合,属于一种特殊类,只包含一组有限的特殊对象 2、自定义类实现枚举 (1)构造器 private 化,防止直接创建 (2)不需要 set 方法,防止属性被修改 (3)定义 public static final 常量对象 (4)大写字母组成常量名,下划线连接多单词 (5)定义 p
阅读全文
摘要:内部类的本质 1、内部类只是 Java 编译器的概念,对于 Java 虚拟机而言,它是不知道内部类这回事的,每个内部类最后都会被编译为一个独立的类,生成一个独立的字节码文件 2、也就是说,每个内部类其实都可以被替换为一个独立的类。当然,这是单纯就技术实现而言。内部类可以方便地访问外部类的私有变量,可
阅读全文
摘要:interface 接口名 { 接口体; } 访问修饰符 类名 implements 接口名 { 类体; } 1、接口不能被实例化 2、接口的修饰符只能为 public 或默认 3、接口允许存在属性,接口中的属性隐式声明为 public static final,且声明不能更改 4、接口的方法 (1
阅读全文
摘要:1、抽象类 访问修饰符 abstract class 类名 { 类体; } 2、抽象方法 访问修饰符 abstract 返回数据类型 方法名(形参列表); 3、抽象类不能实例化,允许定义构造方法,只能由子类调用构造器 4、抽象类允许没有抽象方法 5、类含有抽象方法,该类必须为抽象类 6、abstra
阅读全文
摘要:1、final 可以修饰类、属性、方法、局部变量 2、作用 (1)类不能被继承 (2)父类方法不能被子类重写 (3)属性不能被修改 (4)局部变量不能被修改 4、普通常量赋值位置 (1)定义时 (2)构造器中 (3)代码块中 5、静态常量赋值位置 (1)定义时 (2)静态代码块中 6、非 final
阅读全文
摘要:修饰符 { 方法体; }; 1、修饰符可选,且只能选择 static 2、分号可以省略 3、属于类中成员,类似于方法,将逻辑语句封装在方法体内 4、与方法不同,无方法名、返回值、参数,只有方法 5、不需要通过对象、类进行显式调用,而是加载类时或创建对象时进行隐式调用 6、相当于另外一种形式的构造器,
阅读全文
摘要:类变量 / 静态变量 / 静态属性 1、static 变量是同一个类的所有对象所共享 2、在类加载时就生成了,不需要对象实例也能访问 3、存放位置 (1)JDK 8 版本以前,静态域存在方法区 (2)JDK 8 版本(包含 JDK 8)以后,静态域在定义类型 Class 对象中,Class 对象在
阅读全文
摘要:1、可以查看包括 Java 源码在内,程序执行的过程 2、断点调试的过程中,是运行状态,即以对象运行类型来执行 3、在程序的某一行设置断点,断点的位置没有限定,调试过程时,程序可以直接跳跃到断点,支持动态下断点 4、调试过程中可以查看各个变量的值 5、快捷键 (1)F7:跳入,进入方法内 (2)F8
阅读全文
摘要:equals 方法、== 1、equals 方法 (1)Object 类的方法,底层是比较操作符 == public boolean equals(Object obj) { return (this == obj); } (2)默认判断引用地址是否相等,即判断引用的是否为同一对象 (3)子类往往重
阅读全文
摘要:1、多态的基础是封装、继承 2、方法的多态:重载、重写 3、对象的多态 (1)前提:两个对象(类)存在继承关系 (2)一个对象的编译类型和运行类型可以不一致 (3)编译类型在定义对象时,就确定了,不能更改 (4)运行类型可以更改 (5)“=”的左方:编译类型;“=”的右方:运行类型 多态的向上转型
阅读全文
摘要:访问修饰符 class 子类名 extends 父类名 { 方法体; } 1、父类 / 基类 / 超类;子类 / 派生类 2、子类继承父类所有属性、方法(包括 private) (1)子类可以访问父类非 private 属性、方法 (2)子类不可以直接访问父类 private 方法、private
阅读全文
摘要:1、抽象出数据(属性)、对数据的操作(方法),并保护在内部(封装),程序只有被授权才能对数据进行操作 2、作用 (1)隐藏实现细节 (2)对数据进行验证,保证安全 3、实现 (1)private 化属性,不能直接修改属性 (2)提供 public set 方法 ,对验证属性并赋值 (3)提供 pub
阅读全文
摘要:修饰符 当前类 同一包内 子孙类(同一包) 子孙类(不同包) 其他包 public Y Y Y Y Y protected Y Y Y Y/N N default Y Y Y N N private Y N N N N 1、访问修饰符控制类、方法、属性的访问权限 2、外部类(顶层类)只能使用 pub
阅读全文
摘要:package 关键字 package 包名; 1、表示打包 2、声明当前类所在的包,需要在类最上方声明,一个类中最多一个 package 3、本质:创建不同文件夹,保存类文件 包的作用 1、区分相同名字的类 2、类较多时,易管理 3、控制访问范围 常用包 1、基本包,默认引入,不需要再次导入:ja
阅读全文