
java
世界最菜
这个作者很懒,什么都没留下…
展开
-
自定义类的序列化过程需要满足的条件
自定义类必须实现Serializable接口自定义内部的属性必须都是可序列化的(String与基本数据类型都是可序列化的,如果内部包含自定义的类的话,需要使这个自定义的类实现Serializable接口)需要声明一个序列版本号,例如: public static final long serialVersionUID=124545245L;这个版本号的值是随意写的。...原创 2021-09-04 10:03:45 · 448 阅读 · 0 评论 -
java-泛型
泛型:允许在定义类、接口时通过一个标识表示类中的某个属性的类型或者是某个方法的返回值及其参数类型。泛型是一个类,不能是基本数据类型,需要用到基本数据类型的位置,拿包装类替换。如int需换为integer如果定义了泛型类,但实例化的时候并没有指明泛型的类型,则默认此泛型为object类型。如果子类继承带泛型的父类时,指明了泛型类型,则实例化子类对象时,不需要指明泛型。如果子类继承带泛型的父类时,并没有指明泛型类型,则此子类还是个泛型类。泛型不同的引用不能相互赋值。静态方法中不能够使用类的泛型。原原创 2021-08-24 15:26:54 · 259 阅读 · 1 评论 -
java-反射
什么时候用反射:当有多个类并且编译的时候并不能确定需要创建哪个类的对象时,使用反射。关于java.lang.Class类的理解类的加载过程程序经过Java.exe命令以后,会生成一个或多个字节码文件(.class结尾),接着我们使用java.exe命令对某个字节码文件进行解释运行。相当于将某个字节码文件加载到内存中,此过程称为类的加载。加载到内存中的类,我们就称为运行时类,此运行时类就作为Class的一个实例。获取Class的实例的方式方式一:调用运行时类的属性Class 实例名 = 类名..原创 2021-08-17 21:39:47 · 128 阅读 · 0 评论 -
java-StringBuffer与StringBuilder
String与StringBuffer、StringBuilder异同String是不可变的字符序列而后两者都是可变的字符序列。StringBuffer是线程安全的,缺点是效率比较低,StringBuilder是线程不安全的,效率比较高原创 2021-08-14 21:13:59 · 101 阅读 · 0 评论 -
java-string
string:字符串,使用一对""括起来表示string声明为final的,不可被继承string支持序列化string代表不可变的字符序列,内部定义为final char[] value用于存储字符串数据字符串是存储在方法区中的字符串常量池中,在字符串常量池中是不会存储相同内容的字符串的当对字符串进行重新赋值或者对字符串进行修改时,需要重新指定内存区域赋值对于常量与常量的拼接结果,其结果是存储在常量池中,但凡拼接左右有一个是变量,其结果就是存储在堆空间中。使用intern得到的结果也是存储在.原创 2021-08-14 14:16:25 · 80 阅读 · 0 评论 -
java-方法重写
子类重写的方法的权限 不小于 父类被重写的方法的权限父类中权限为private的方法不能被重写子类重写的方法的返回值类型必须是父类被重写的方法的返回值类型或者父类被重写方法返回值类型的子类子类抛出的异常类型不大于父类抛出的异常类型...原创 2021-08-12 09:49:50 · 64 阅读 · 0 评论 -
java-抽象方法与抽象类
被abstract修饰的类称为抽象类,抽象类不能够被实例化。被abstract修饰的方法称为抽象方法,抽象方法没有方法体(与方法的声明一致)只有抽象类内才可以包括抽象方法若抽象类的子类实现了此父类中全部的抽象方法,则这个子类可以实例化...原创 2021-08-12 09:49:34 · 70 阅读 · 0 评论 -
java-继承
格式:class A extends B{ }A继承B之后,就获得了B的所有的属性与方法特别的,父类中声明为private的属性与方法,子类继承了此父类之后,仍然认为获得了这个父类私有的属性与方法,只是因为封装性的影响,子类并不能直接调用父类的属性与方法。...原创 2021-08-12 09:49:07 · 59 阅读 · 0 评论 -
java-多线程
创建多线程方式一:声明一个类并让其继承Thread类,让子类重写Thread类中的run(),创建子类对象,调用start()。start()方法的用处是启动当前线程,调用当前线程的run() ---------------------------------方式二:创建一个实现Runnable接口的类,在类中实现Runnable中的run()方法,创建类对象,将此对象作为参数传递到Thread类的构造器中创建Thread的对象,通过Thread类的对象调用start()线程的生命周期线程的生命周期.原创 2021-08-11 20:59:18 · 80 阅读 · 0 评论 -
java-接口
接口是使用interface来定义的Java中,接口和类是两个并列的结构如何定义接口以及接口中的成员JDK 7及以前:只能够定义全局常量以及抽象方法全局常量:public static final(书写时,可以省略不写)抽象方法:public abstractJDK8:除以前能够定义的之外,还能够定义默认方法、静态方法接口中是不允许定义构造器的,也就意味着接口不能够实例化在java开发中,接口是通过让类去实现(implements)的方式来使用接口与接口之间是可以继..原创 2021-08-10 14:58:37 · 74 阅读 · 0 评论 -
java-代码块
代码块分为静态代码块和非静态代码块。其二者的差别主要是有无static修饰。对于静态代码块来说,其随着类的加载而执行。对于非静态代码块来说,其随着对象的加载而执行。原创 2021-08-09 20:25:57 · 69 阅读 · 0 评论 -
java-包装类、基本数据类型与string的转换
包装类与基本数据类型转换成string使用string重载的Valueof()string转换成包装类或基本数据类型使用此包装类的parseXXX(string x)原创 2021-08-09 19:20:06 · 86 阅读 · 0 评论 -
== 与 equals
==:可以适用于基本数据类型与引用数据类型对于基本数据类型来说,比较的是变量存储的数据是否相同(不一定类型相同)对于引用数据类型来说,比较的是变量的地址是否相同equals:4. object类中equals的定义与==相同5. object的一些子类中的equals方法比较的是对象的实体内容是否相同...原创 2021-08-09 13:46:35 · 64 阅读 · 0 评论 -
java-多态以及instanceof
多态在编译的时期,只能调用在父类中声明的方法,在执行期,我们实际执行的是子类中重新父类的方法。a instanceof A 判断a是不是A的实例 如果是,返回true ,如果不是,返回false原创 2021-08-09 13:04:37 · 144 阅读 · 0 评论 -
java-this 与super
我们在类的构造器中,可以显式的使用this(形参列表)的方式调用本类中的其他构造器构造器不能够通过这种方式调用自己这种方式必须声明在当前构造器的首行原创 2021-08-07 19:19:41 · 119 阅读 · 0 评论 -
java-属性赋值的先后顺序
默认初始化显式初始化构造器中初始化通过对象.方法 或者 对象.属性的方式赋值原创 2021-08-07 15:51:16 · 148 阅读 · 0 评论 -
java-权限修饰符
java规定的四种权限:private、缺省、protected、public4种权限修饰符可以用来修饰类以及类的内部结构:属性、方法、内部类、构造器修饰类的话只能够使用缺省、publicprivate:可以在类内部被访问缺省:可以在类内部、同一个包下被访问protected:可以在类内部、同一个包下、不同包的子类下被访问public:可以在同一个工程下被访问...原创 2021-08-07 14:47:14 · 80 阅读 · 0 评论 -
java-可变个数形参
具体使用:可变个数形参的格式: 数据类型名称…变量名当调用可变个数形参的方法时,传入的参数个数可以是0个、1个、2个原创 2021-08-07 12:21:34 · 91 阅读 · 0 评论 -
java-内存(更新中)
内存主要分为堆、栈、方法区。简单的来说,栈里面存放的是局部变量,堆里面存放的是new出来的结构。原创 2021-08-06 12:32:07 · 72 阅读 · 0 评论 -
java 数组
声明 数组类型 [] 数组名;初始化动态初始化:数组名=new 数组类型[数组长度]静态初始化:数组名=new 数组类型[]{数组元素值}数组长度:借助length属性原创 2021-08-06 12:29:28 · 82 阅读 · 0 评论 -
java 标签
java中的标签一般与continue,break联合使用。比如我们想要让break对应的是某一循环(非最近),可以进行的操作就是在这一循环前添加 标签名: 然后在break后添加标签名 这样即可指定此break对应的为哪一循环。...原创 2021-08-06 09:42:34 · 75 阅读 · 0 评论 -
java-switch
switch结构中的表达式,只能是如下六种数据类型:byte, short, chariot,枚举,stringcase后只能加常量原创 2021-08-06 09:19:41 · 85 阅读 · 0 评论 -
java-从键盘输入
具体实现步骤:导包:import java.util.ScannerScanner的实例化:Scanner scan= new Scanner(System.in)调用scan对象的相关方法原创 2021-08-05 17:24:05 · 69 阅读 · 0 评论 -
java- 自动类型提升与强制类型转换
自动类型提升:当容量小的数据类型的变量与容量大的数据类型变量做运算时,结果自动提升为容量大的数据类型。说明:此时的容量大小指的是这个数据类型可以表示的范围的大小。特别的,当byte,char,short三种类型做运算时,结果为int型。byte, char,short -> int -> long ->float ->double强制类型转换可以认为是自动类型提升的逆运算。强制类型转换需要在变量前使用强转符:()强制类型转换可能会导致精度损失...原创 2021-08-04 15:28:13 · 130 阅读 · 0 评论 -
变量的分类
java变量分为基本数据类型与引用数据类型基本数据类型包括数值型,字符型,布尔型引用数据类型包括类,接口,数组原创 2021-08-04 13:54:50 · 85 阅读 · 0 评论 -
java 小基础的点
1: 输出语句System.out.printlf() 输出后可以换行System.out.print() 输出后不换行2:main函数格式public static void main(String[] args)3:每一个语句都要以;结尾4:源文件编译以后,会生成一个或多个字节码文件,字节码文件的文件名与源文件中的类名一致。...原创 2021-08-03 18:14:08 · 74 阅读 · 0 评论 -
源文件与类
1: 一个源文件里面可以有多个类,但是只有一个类可以声明为public2: 声明为public的类必须与源文件同名。实际上在记忆的过程中可以只记声明为public的类必须与源文件同名,因为不同的类的名字必然是不一样的,那么与源文件同名的类即可以声明为public的类只有一个。...原创 2021-08-03 18:01:15 · 241 阅读 · 0 评论 -
《注 释》
注释了的内容不参与编译,换句话说,编译以后生成的class文件不包含注释掉的信息。单行注释就是在程序中注释一行代码,在Java语言中,将双斜线"//"放在需要注释的内容之前就可以啦。在eclipse中,单行注释的快捷键是command+/,按一次是添加注释,在按一次就是取消注释。多行注释就是一次性的将程序中的多行代码注释掉,在Java语言中,使用"/“和”/“将程序中需要注释的内容包含起来,”/“表示注释开始,”/"表示注释结束。注意多行注释是不可以嵌套的。...原创 2021-08-03 17:53:41 · 81 阅读 · 0 评论 -
大小写问题
java严格区分大小写windows是不区分大小写的原创 2021-08-03 16:38:58 · 99 阅读 · 0 评论 -
java语言运行机制及其运行过程
java语言在windows,Linux,Mac系统下都可以运行,具有跨平台性,那么他是怎么做到的呢?因为我们提供了不同操作系统对应的jvm。java程序是在jvm上跑的,jvm可以安装在不同的操作系统上。原创 2021-08-03 14:36:52 · 115 阅读 · 0 评论