今天来说一波自己对Java中抽象类和接口的理解,含参考内容: 一.抽象类 1.定义: public abstract class 类名{} Java语言中所有的对象都是用类来进行描述,但是并不是所有的类都是用来描述对象的.我所理解的抽象类其实就是对同一类事物公共部分的高度提取,这个公共部分包括属性和行为.比如牛.羊.猪它们的公共属性是都有毛,公共行为是都哺乳,所以我们可以把公共部分抽象成一个哺乳类,含有属性毛和行为哺乳,当牛.羊.猪继承了哺乳类后也就有了哺乳的功能,至于怎么完成这个功能就需要自己…
今天来研究一下含继承.静态成员.非静态成员时Java程序的执行顺序: 一.不含继承,含有静态变量.静态代码块 创建一个子类,该类包含静态变量.静态代码块.静态方法.构造方法 /** * @createtime 2017年3月17日 下午5:17:02 * @description 创建一个子类 */ public class Son{ public static String name = "子类name"; public static long date = new Date().g…
前几天和棒棒童鞋讨论Java(TA学的是C++)的时候,他提到一个浅拷贝和深拷贝的问题,当时的我一脸懵圈,感觉自己学Java居然不知道这个知识点,于是今天研究了一番Java中的浅拷贝和深拷贝,下面来做一下总结: 一.定义 调研过程中发现普遍的解释如下: 我在用代码实战之后总结出的定义是: 浅拷贝,就是创建了一个新对象,这个新对象以及新对象中的基本类型都被分配了新的存储空间,从此与原对象毫无瓜葛:但是原对象中的引用类型没有被分配新的空间,新对象和原对象都指向同一片内存,任何一方的改变都会影响到对方…
今天看到一篇名为<Java开发岗位面试题归类汇总>的博客,戳进去看了一下题目,觉得有必要夯实一下基本功了,所以打算边学边以博客的形式归纳总结,每天一道题, 并将该计划称为java问题解读系列,今天的题目是:String类为什么是final的? 在回答这个问题之前,我觉得有必要搞清楚final到底是个什么? 一.理解final 望文生义,final意为“最终的,最后的”,我理解为“不能被改变的”,它可以修饰类.变量和方法. 所以我是否可以理解为被它所修饰的类.变量和方法都不能被改变呢?答案是”是…
今天的题目是String.StringBuffer和StringBuilder的区别: 首先还是去官方的API看看对这三种类型的介绍吧,Go...... 一.继承类和实现接口情况 1.String类 public final class String extends Object implements Serializable, Comparable<String>, CharSequence 2.StringBuffer类 public final class StringBuffer ex…
今天的题目是:String类的常用方法? 首先,我们在eclipse中定义一个字符串,然后使用alt+/就会出现String类的所有方法,如下图所示: 下面我就挑选一些常用的方法进行介绍: 首先定义两个字符串 String path1 = "C:\\Windows\\Web\\Wallpaper\\Windows\\img0.jpg"; String path2= " C:\\Windows\\Web\\Wallpaper\\Windows\\img0.jpg ";…
相对于标准Java IO中通过File来指向文件和目录,Java NIO中提供了更丰富的类来支持对文件和目录的操作,不仅仅支持更多操作,还支持诸如异步读写等特性,本文我们就来学习一些Java NIO提供的和文件相关的类: Java NIO Path Java NIO Files Java NIO AsynchronousFileChannel 总结 1. Java NIO Path Java Path是一个接口,位于java.nio.file包中,Java 7中引入到Java NIO中.   一…
与String相关的系列 String, 是JAVA中常见的一个引用类型,且其具有一定的特殊性. String类型被设置为final型,即不可继承,也就不可修改其中的实现. String可以改变吗 String被设置为final型的,通常情况下是不可以改变的. 但是,从源码中可以得知,其字符串存储的时候使用的是char[],虽然被标识为final型,但是可以通过反射等方式修改其中的值,但是不推荐. 反射 修改字符串实际值的步骤 : 获反射获取到数组对应的字段Field 修改器访问属性为可访问 修…
String作为Java中最常用的引用类型,相对来说基本上都比较熟悉,无论在平时的编码过程中还是在笔试面试中,String都很受到青睐,然而,在使用String过程中,又有较多需要注意的细节之处. 1.String是不可变类. 这句话其实大家都很熟悉了,那么具体什么是不可变类呢?一般认为:当对象一旦创建完成后,在正常情况下,对象的状态不会因外界的改变而改变(对象的状态是指对象的属性,包括属性的类型及属性值). 首先看一个基本的例子: String s = "abc"; System.o…