10 整理的简答题

10 整理的简答题

有的答案略;

1权限修饰符有哪些?

 

2在什么情况下,finally语句不会执行?

     如果在try内部执行一条System.exit(0)语句终止应用程序的执行,finally中的语句不会被执行.

 

3高级for和传统for循环的区别?

  增强for对数组和集合进行遍历,不能对其进行操作

  for循环在循环过程中,可以操作,(在删除的时候,为了防止漏删,要自减,  “—---“)

 

4.    &&&的区别?

最终结果一样;

&&具有短路效果,左边是false,右边不执行

&是无论左边是false还是true,右边都会执行

 

5.      “==”equals方法究竟有什么区别?

“==”是一个比较运算符,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值

“equals”方法是一个方法,只能比较引用数据类型,所有的对象都会继承object类中的方法,如果没有重写object类中的equals方法,equals方法和”==”,在比较引用数据类型的时候毫无区别,重写后的equals方法比较的是对象中的属性

 

6.      写出两种排序的区别及算法

冒泡排序:

选择排序:


7.    short s1 = 1; s1 = s1 + 1;有什么错? short s1 =1; shorts1 +=1;有什么错?

       :对于前者,由于 s1 + 1 运算时会自动提升表达式的类型,所以结果是 int,再赋值给 short类型s1,编译器会报告需要强制类型转换的错误.

对于 short s1 = 1; s1 +=1; 由于 += java语言规定的运算符,java译器会对它进行特殊处理,因此可以正确编译.


8.      栈内存和堆内存的特点?

 

9.      静态变量和实例变量的区别?

在语法定义上的区别:静态变量前要加static关键字,而实例变量则不需要

在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才回被分配空间,才能使用这个实例变量.静态变量不需要某个实例对象,而是属于类,所以也被称之为类变量,只要程序加载了类的字节码,不需要创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了,总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用.

 

10 .请说出final,finalize,finally的区别

         Final用于声明属性,方法和类,分明表示属性不可变,方法不可覆盖,类不可继承,内部类要访问局部变量,局部变量必须定义成final类型

         Finally是异常处理语句结构的一部分,表示总是执行

 

10.  Arraylist和linkedList的区别

 

11.  数组和集合的区别

 

12.  泛型的出现解决了什么问题?

提高了安全性,(将运行时期的错误转换到了编译期)

省去了强转的麻烦

没有了黄色波浪线


11.如何理解匿名内部类?

         匿名内部类也就是没有名字的内部类

正因为没有名字,所以匿名内部类只能利用一次,如果想要调用多次,建议利用有名字的类,因为匿名内部类一旦被调用完毕就是垃圾,可以被垃圾回收器回收

         abstract   class Person{

                            public   abstract void   eat(   ) ;

                   }

         public  class Demo {

                            publicstatic void main(String[] args){

                                                        Person p

 

13.  什么是面向对象,面向对象和面向过程的区别?

首先,面向对象是一种思想

它是一种更加符合我们思想习惯的思想,

可以将复杂的事情简单化

将我们从执行者变成了指挥者

面向对象强调的是结果,是基于面向过程的, 面向过程强调的是过程


14.  继承的好处?

提高了代码的复用性

提高了代码的维护性

让类与类之间产生了关系,是多态的前提


15.  static关键字有什么特点?

随着类的加载而加载

优先于对象存在

被类的所有对象共享

可以通过类名调用

注意事项:

在静态方法中是没有this关键字的

静态方法只能访问静态的成员变量和静态的成员方法


16.  this和super的区别?

首先:this代表当前对象的引用,谁来调用我,我就代表谁

           Super:代表当前对象父类的引用

然后:

在调用成员变量的时候:

This既可以调用本类的成员变量,也可以调用父类的成员变量

Super调用父类的成员变量

在调用构造方法的时候

This(…..)调用本类的构造方法

Super(….)调用父类的构造方法

在调用成员方法的时候

“This.”既可以调用本类的成员方法,也可以调用父类的方法

“super.”调用的是父类的成员方法


17.  java中支持多继承吗?

支持,但只体现在接口与接口之间


18.  抽象类和接口的区别?

分四点来说:

和类的关系:

抽象类与类之间是继承关系

接口与类之间是实现关系

成员方法:

抽象类的成员方法可以抽象也可以非抽象

接口的成员方法只能是抽象的

构造方法:

抽象类有构造方法

接口是没有构造方法的

成员变量:

抽象类可以是变量也可以是常量

接口的成员变量只能是常量


19.  数组是引用数据类型还是基本数据类型?

int a[]={1,2,3,4,5};intb[]=a[];b[0]=100;a[0]=???

引用数据类型a[0]=100

 

20.  Java的数据类型有哪些?

(1)    基本数据类型:整型{byte,short,int,long,}浮点型{float,double}字符类型char布尔类型Boolean

(2)    引用数据类型:类,接口,数组

21泡排序和选择排序的区别以及代码

 

21.  StringStringBuffer的区别

1. String是一个不可变的字符序列,一旦被初始化,则不能被改变 ; StringBuffer是字符串缓冲区,则是可变的字符序列

2. String可以通过+来拼接成新的字符串  ; StirngBuffer必须通过方法来实现

3. String当做参数传递时不改变值  ; StringBuffer当做参数传递时会改变值

4. String重写了equals方法,可以比较对象的属性  ;  StringBuffer没有重写,只能比较地址值


22.  DateCalender类有什么区别和联系??


23.  线程的状态有哪些?

新建,就绪,运行,阻塞,死亡


24.  集合中list和set的区别?


25.  TreeSet有几种排序方式?


26.  Map集合的特点?


27.  Collection和collections的区别?


28.  i++和++i的区别?


29.  String类可以被继承吗?为什么?

不可以,因为String类是final类,故不可以被继承


30.  Map的两种的两种取出方式?


31.  字节流和字符流的区别?


32.  什么是转换流


33.  什么是打印流


34.  什么是递归?


35.  重载和重写的区别?


36.  Java中成员变量和局部变量的区别?


37.  Jdk和jre的区别?

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值