JavaSE理论性关于各种区别
油炸猪蹄。
这个作者很懒,什么都没留下…
展开
-
while和do{}while;的区别
while循环中的内容可能会有一次都不执行的情况。如下代码: public static void main(String[] args) { int i = 1; while(i < 1) { System.out.println("程序执行" + i + "次"); i ++; } System.out.println("程序...原创 2019-07-19 20:01:55 · 132 阅读 · 0 评论 -
ArrayList,Vector, LinkedList 的存储性能和特性
ArrayList底层结构是数组,它方便元素的查找,不便于插入和删除元素,在性能上,ArrayList线程不安全,但效率高。Vector和ArrayList一样,底层都是数组结构,和ArrayList有所区别的是,在性能上,Vector线程安全,但效率慢,因此在开发中不建议使用。LinkedList底层结构是链表,它便于插入和删除数据,不便于查找元素。...原创 2019-07-23 15:28:00 · 119 阅读 · 0 评论 -
List、Set和Map在存取元素时的区别
List存放的元素有序,且可以存放相同的元素,可以根据下标来取值。Set存放的元素无序,且不可以存放相同的元素,只能通过迭代器或foreach循环遍历来取值。Map存放的是键值对元素,它的键是不可以重复的,一旦键值重复,其值将会被覆盖,它只能通过键的值来取值。...原创 2019-07-22 22:08:03 · 1053 阅读 · 0 评论 -
Exception和RuntimeException的区别
RuntimeException是运行时异常,程序不要求强制处理就能编译通过;Exception中除了RuntimeException以外的其他的异常都必须强制处理才能编译通过。原创 2019-07-22 22:02:47 · 129 阅读 · 0 评论 -
throw和throws的区别
throw表示手动产生一个异常,它出现在方法体中,用throw产生的异常必须要进行处理,而throws就是处理异常的一种方式。throws表示异常处理的一种方式,它出现在声明方法时,此异常会抛给调用该方法的地方。...原创 2019-07-22 21:54:58 · 82 阅读 · 0 评论 -
Error和Exception的区别
两者都是都是Throwable下的子类。Error指运行时出现的错误,是程序员无法解决的。Exception指出现异常,是程序员必须解决的。原创 2019-07-22 21:55:08 · 165 阅读 · 0 评论 -
final和finally的区别
final表示最终的,用final修饰类,表示该类不能被其他类继承;用final修饰属性,表示该属性为常量,其值不能被修改;用final修饰方法,表示该方法不能被重写。finally用于Java处理异常时try{}catch(){}语句之后,表示异常处理的出口。不管有没有异常,finally语句都会被执行。...原创 2019-07-22 21:54:49 · 83 阅读 · 0 评论 -
this和super的区别
this关键字:1.表示调用本类中的属性。2.表示调用构造方法。同一个类中,一个构造方法调用另一个构造方法,使用this([参数])进行调用,且该语句必须放在构造器的第一句。3.表示调用者。super关键字:1.用super.方法名()表示调用父类被重写的方法。2.用super([参数])表示调用父类的构造方法,且该语句必须放在子类构造方法的第一句。在调用构造方法时,t...原创 2019-07-22 21:54:40 · 89 阅读 · 0 评论 -
public、protected、default和private四个访问修饰符修饰类成员时在访问权限上的区别
public:公共的。凡是用public修饰类成员,那么该成员可以被任何类访问。protected:受保护的。可以被本类、同包下的类以及不同包下的子类访问。default:默认修饰符。(省略不写)可以被本类以及相同包下的类访问。private:私有的。只能被本类访问。...原创 2019-07-22 21:54:30 · 344 阅读 · 0 评论 -
方法重载(Overload)和方法重写(Overiding)的区别
在同一个类中,多个方法名相同,但参数不同的方法构成方法的重载。在具有继承关系的两个类中,两个方法名相同,参数相同,返回值类型也相同的方法构成重写。子类重写父类中的方法,以添加或重新设定父类中该方法的功能。...原创 2019-07-19 21:32:03 · 344 阅读 · 0 评论 -
==和equals()的区别
==是一个运算符号,它用来比较两个基本数据类型的值是否相等,或者用于比较两个引用数据类型的地址是否相等。用来比较基本数据类型时,如果两个数据的值相等,则返回true,否则返回false。在比较数据类型时,除非是同一个实例化出来的对象,会返回true,否则会返回false。equals()是一个方法,它只可以用来比较两个引用数据类型,(在重写后)用来比较两个引用数据类型的属性。如果两个引用数据类...原创 2019-07-19 21:26:09 · 137 阅读 · 0 评论 -
普通代码块、构造代码块、静态代码块和同步代码块的区别
普通代码块:在方法中使用{ }包裹的一段代码,该代码块会在方法执行时而被执行。构造代码块:在类中使用{ }包裹的一段代码,该代码会在构造方法调用前执行。静态代码块:在类中使用static{ }包裹的一段代码,该代码会在类加载完毕后执行,且只会执行一次。同步代码块:使用synchronized(this){ }包裹的一段代码,该代码可以用来解决纯种的安全问题。...原创 2019-07-19 21:16:10 · 337 阅读 · 0 评论 -
构造方法、一般方法和静态方法和抽象方法的区别
构造方法和方法名和类名相同,并且没有任何的返回值(包括void也没有)。构造方法的意义就在于类的实例化。构造方法在创建对象时进行调用,要想实例化一个对象就必须调用到它的构造方法。(虽然在单例、工厂等模式中是通过调用一个一般方法来实例化单例类,但归根结底,在实例化单例类时,还是调用到了它的构造方法。)一个类中一定会有构造方法,如果没有指定的构造方法,系统会为其自动生成一个无参且什么都不做的构造方法。...原创 2019-07-19 21:08:49 · 2109 阅读 · 0 评论 -
从存放数据的类型的角度浅谈堆和栈的区别
栈中一般用来存放基本数据类型和引用的地址。堆中一般用来存放对象的属性内容。如:int i = 1;这里的i是一个基本数据类型。i的值被存放在栈中。再如:定义了一个Person类,该类中有两个属性:int age、String name和一个全参的构造方法。创建一个Person对象person,Person person = new Person(10,"张三")...原创 2019-07-19 20:51:58 · 249 阅读 · 0 评论 -
Java中null和“”(空字符串)的区别。
null指的是一个空对象,这个对象可以是任何一个类的实例。""指的是一个空字符串,这个字符串的长度为0。也就是说null这个对象的类型可以是任何一个类型,而""这个对象的类型只能是String。...原创 2019-07-19 20:31:13 · 971 阅读 · 0 评论 -
类和对象的区别
类是一个抽象的概念,Java中把一组具有相同属性和方法的对象的集合称为类;对象是一个具体的实例,一个类的实例就是一个对象。总之,类是对象的抽象,对象是类的实例。...原创 2019-07-19 20:06:00 · 668 阅读 · 0 评论 -
Collection和Collections的区别
Collection是集合的根接口,其下有两个子接口List和Set接口。Collections是集合的工具类,它提供了操作集合中元素的一些静态方法。原创 2019-07-23 15:28:09 · 91 阅读 · 0 评论