黑马程序员_java之重要小知识点汇总(A和B的区别?)

------- android培训java培训、期待与您交流! ----------

1、while和do while的区别:

while:条件不满足,循环体不会执行

do while:无论条件是否满足,循环至少执行一次

 

2、for和while的区别:

for循环结束就是内存中释放

while循环使用的变量在循环结束后还可以继续使用

for和while可以互换,如果需要定义循环增量,用for更为合适

for和while的无限循环:

for( ;  ; ){ }

while(true){ }

 

3、break和continue的区别:

break(跳出)应用范围----选择结构和循环结构

跳出应用范围没有任何价值

continue(继续)应用范围----循环结构

结束本次循环,继续下次循环

 

4、匿名对象和给对象起名的区别:

A:当对象的方法只调用一次时,可以用匿名对象来完成,这样比较简化

B:匿名对象可以作为实际参数进行传递

 

5、构造代码块和构造函数的区别:

构造代码块是给所有对象进行统一初始化

构造函数时给对应的对象初始化

 

6、this和super:

this----它所在函数所属对象的引用,哪个对象在调用this所在的函数,this就代表哪个对象

super----子类调用父类中的构造方法

this()----调用本类的构造方法,必须放在第一行

super()----调用父类空参数的构造函数,必须放在第一行

 

7、重载和重写的区别:

重载:只看同名函数的参数列表(参数类型和参数个数)

重写:子父类方法要一模一样(方法名和返回值类型)

 

8、抽象类和接口的区别:

抽象类:
A:成员变量:既可以是变量,也可以是常量。
B:成员方法:既可以是抽象的,也可以是非抽象的。
C:构造方法:给子类实例化使用

接口:
A:成员变量:只能是常量。默认修饰符 public static final
B:成员方法:只能是抽象的。默认修饰符 public abstract
C:针对接口,建议,所有的默认修饰符自己手动给出

 

9、StringBuilder与StringBuffer之间的相同点与不同点:

StringBuilder与StringBuffer相同点:都可以对字符串进行操作

StringBuilder与StringBuffer不同点:

StringBuilder:是一个可变的字符数列,线程不安全

StringBuffer:线程安全

 

10、ArrayListVectorLinkedList之间的区别:

ArrayList:底层数据结构是数组,查询快,增删慢;线程不安全,效率高

Vector:底层数据结构是数组,查询快,增删慢;线程安全,效率低

LinkedList:底层数据结构是链表,查询慢,增删快,线程不安全,效率高

 

11、CollectionMap的区别:

Collection和Map相同点:都是集合接口

CollectionMap不同点:

Collection:是单列集合,集合中的数据是单个出现的,其中的List不保证元素唯一,set 保证元素唯一

Map:是双列集合,集合以键值对形式出现,并且由键指向对,键是唯一的

 

12、HashSet和TreeSet的区别:

HashSet和TreeSet相同点:都是Set的子类,集合中的元素唯一

HashSetTreeSet不同点:(保证集合中元素的唯一性不同)

HashSet:无顺序,保证集合中元素的唯一性是先重写自定义对象的hashCode再重写equals方法

TreeSer:可排序,保证集合中元素的唯一性有两种方法:

                 1、让元素具备比较性,使用Comparable接口的compareTo方法

                 2、让集合本身具备比较性,使用Comparator接口的compare方法

 

13、Collection和Collections的区别:

CollectionCollections相同点:都是对对象操作

Collection:是顶级集合接口,可以对集合中的元素进行“增删改查”的操作,并且可以调用ArrayListVectorLinkedListHashSetTreeSet等子类的方法

Collections:是对集合操作的工具类,可对集合按自然顺序的升序进行排序

 

14.Hashtable和HashMap的区别:

HashtableHashMap相同点:都是集合

Hashtable是线程安全的,效率低,它的键和值都不能为null

HashMap是线程不安全的,效率高,可以允许null键和null

 

15、权限修饰符的区别:

   public:不同包中的类
   protected:不同包中的子类中
   默认:同一个包中
   private:只能被本类访问

                          类   构造方法 成员方法 成员变量
public                OK       OK          OK          OK

默认                  OK       OK          OK          OK

protected                      OK           OK          OK    
private                          OK           OK          OK
static                                             OK          OK
final                   OK                      OK           OK
abstract            OK                       OK  

 

修饰数据时:

权限修饰符(4选1)+(abstract(抽象,必须重写)/final(不能被重写)/static(共享))+被修饰内容

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值