Java基础
小王小王全是脂肪
加油吧
展开
-
Java基础 7.抽象类和接口的区别
语法层面: 1.抽象类可以提供成员方法的实现细节,而接口中只能 存在抽象方法(默认 public abstract) 2.抽象类中的成员变量可 以是多种类 型,而接口中的成员变量必须用public static final(常量)修饰 3.一个类只能继 承一个抽象类(单继承),但可以实现多个接口(多继承) 4.抽象类中允许含有静态代码块和静态方法,而接口类不能。 设计层面: 1.抽象类...原创 2019-07-28 22:20:52 · 271 阅读 · 0 评论 -
Java基础 5.Int和Integer的区别与联系,Integer中值的缓存范围
Integer是int的包装类;int是基本数据类型; Integer变量必须实例化后才能使用;int变量不需要; Integer实际是对象的引用,指向此new的Integer对象;int是直接存储数据值 ; Integer的默认值是null;int的默认值是0。 包装类是不可变类。包装类作为参数传递时,仍是按值传递。 深入对比:两个通过new生成的Integer变量永远是不相等的 ...原创 2019-07-28 17:16:27 · 99 阅读 · 0 评论 -
Java基础 4.Exception和Error以及常见的运行时异常
所有的异常都是由Throwable类,下一层分解为两个分支:Error和Exceprion。 Error层次结构描述了java运行时系统的内部错误和资源耗尽错误。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。应用程序不应该抛出这种类型的对象。 Exceprion这个层次结构又分解为两个分支:一个分支派生RuntimeException;另一...原创 2019-07-28 17:10:43 · 164 阅读 · 0 评论 -
Java基础 3.final, finally, finalize 的区别
final 修饰类时,该类不能被其他类继承。final类中所有的成员都是final。用final方法的原因主要有两个:(1) 把方法锁定,以防止继承类对其进行更改。(2) 效率,在早期的java版本中,会将final方法转为内嵌调用。但若方法过于庞大,可能在性能上不会有多大提升。注意:若父类中final方法的访问权限为private,将导致子类中不能直接继承该方法,可在子类中定义相同方法名的...原创 2019-07-28 16:59:38 · 208 阅读 · 0 评论 -
Java基础 2.重载和重写的区别
在1中说到重载和重写是Java多态性的不同表现方式 重载是在一个类中多态的表现,指在一个类中定义了多个同名的方法,但是参数个数和参数类型不同。 注意:1.重载只能通过不同的方法参数来区分(个数,类型,顺序)。 2.不能通过访问权限,返回类型,异常等进行重载。 重写是子类方法重写父类中的方法。 注意:1.重写方法的方法名和参数必须完全与父类相同,返回值类型必须相同,抛...原创 2019-07-28 16:56:29 · 124 阅读 · 0 评论 -
Java基础 1.面向对象的三大特性 实现原理
封装 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。例如将属性定义为私有的,只能由get(),set()方法访问。好处:只能通过规定的方法访问数据。隐藏类的实例细节,方便修改和实现 继承 是类与类的一种关系,是一种“is a”的关系。比如“狗”继承“动物”,这里动物类是狗类的父类或者基类,狗类是动物类的子类或者派生类。特性:1.单...原创 2019-07-28 16:47:37 · 317 阅读 · 0 评论 -
Java基础 10.序列化与反序列化
无论何种类型的数据,都是以二进制的形式在网络上传送,为了由一个进程把Java对象发送给另一个进程,需要把其转换为字节序列才能在网络上传送,把JAVA对象转换为字节序列的过程就称为对象的序列化,将字节序列恢复成Java对象的过程称为对象的反序列化。 序列化的实现:将需要被序列化的类实现Serializable接口,然后使用一个输出流(如:FileOutputStream)来构造一ObjectOut...原创 2019-07-28 22:39:09 · 62 阅读 · 0 评论 -
Java基础 9.equals和hashcode的联系以及和==的区别
equals与==的区别 ==比较的是2个对象的地址,而equals比较的是2个对象的内容,显然,当equals为true时,==不一定为true。==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。 equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。 hashCode和equals方法的区别...原创 2019-07-28 22:32:50 · 88 阅读 · 0 评论 -
Java基础 8.反射的作用与原理
1.反射机制是在运行时对于任一类,都能获取到这个类的属性和方法,对任一对象,都可以调用它的方法。只要给出类的名字,都可以使用反射机制来获取到这个类的所有信息。 2.反射提供的功能: 在运行时判定对象所属的类;在运行时创建对象;在运行时判定一个类的成员变量和方法;运行时调用任一对象的方法;生成动态代理。 3.实现反射的方法 Class.forName("类的路径"); 类名.class; ...原创 2019-07-28 22:29:23 · 131 阅读 · 0 评论 -
Java基础 6.String、StringBuilder、StringBuffer
1.可变性 String是不可变的,因为底层是final修饰的char数组。 StringBuffer和StringBuilder对象是可变的 所以每次对String类型改变的时候,都会重新生成对象,然后指针指向新的对象,多次这样会产生很多无引用对象,JVM的GC就会启动,导致系统性能下降。 修改String对象的原理:首先创建一个StringBuffer对象,调用append()方法,最...原创 2019-07-28 17:24:56 · 71 阅读 · 0 评论