AI智能
改变未来

Java基础易错概念性问题

23.面向对象都有哪些特性以及你对这些特性的理解?

封装,集成,多态

22.&和&&的区别
&&有短路效果,提高代码效率
21. 在Java中,如何跳出当前的多重嵌套循环
标号跳出指定循环,retuet结束min方法,countinue后面的将不在执行
20.两个对象值相同(x.equals(y)==true),但却可有不同的hashCode,这句话对不对?
内容相等hash值一定相等,hash值相等对象不一定相等,例如:通话,重地
19.是否可以继承String
String被final修饰,不可以被继承 final修饰的变量会成常量不能被修改,修饰变量不可以修地址值,可以改值,方法不能重写,类不能继承
18.当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
引用数据,修改成员变量;基本数据,修改的是局部变量
17.重载(overload)和重写(override)的区别?重载的方法能否根据返回类型进行区分?
同一类中,方法名相同,参数不同,个数不同,类型不同,顺序不同,没有返回值重载
重写:继承或者实现,父类方法满足不了子类要求,体系中子类出现和父类出现了一样的方法声明(方法名,参数列表,返回值类型)
重载:同一类中,方法名相同,参数列表不同,与返回值无关

16.char型变量中能不能存储一个中文汉字,为什么?
可以,有且仅有一个字符,char占两个字节,一个汉字也是
15.抽象类(abstractclass)和接口(interface)有什么异同?
相同:
都可以写抽象方法,.不能实例化类不能多实现,.,抽象类被继承,接口被实现,都要重写抽象方法
不同:
抽象类:
是一个类,使用关键字 abstract
抽象类里面可以写非抽象方法
只能单继承或者多层继承
接口:
用interface修饰
练出了抽象还有默认方法
可以多实现
14.抽象的(abstract)方法是否可同时是静态的(static),是否可同时是本地方法(native)
不可以,会冲突;
13.阐述静态变量和实例变量的区别

在语法定义上的区别:

静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:

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

12.==和equals hashCode的区别?
基本数据类型:
==比较的是内容
引用数据类型:
==比的是地址值,equals默认比地址值,重写按照规则比较,hashCode
11.break和continue的区别?
跳出本循环,跳过后面的代码,继续循环
10.Strings=\”Hello\”;s=s+\”world!\”;这两行代码执行后,原始的String对象中的内容到底变了没有?
字符串不可变,它们的值在创建后不能被更改
通过构造方法创建
通过 new 创建的字符串对象,每一次 new 都会申请一个内存空间,虽然内容相同,但是地址值不同
直接赋值方式创建
以双引号方式给出的字符串,只要字符序列相同(顺序和大小写),无论在程序代码中出现几次,JVM 都只会建立一个 String 对象,并在字符串池中维护
9.Java中实现多态的机制是什么?
父类对象指向子类引用
8.Java中异常分为哪些种类
编译,运行
7.error和exception的区别?
错误虚拟机
异常可以捕获处理
6,throw和throws的区别
抛出
声明
5,final、finally的区别?
final:最终的 不可被改变,类不可有子类,变量变常量,引用类型不可以改变地址
finally:出不出错都运行,用于关闭流,关闭资源
4,Math.round(11.5)等于多少?Math.round(-11.5)又等于多少?
12,正数四舍五入
-11负数四舍五入向上

3,数组有没有length()方法?String有没有length()方法
数组有length属性没有方法
string有方法
集合有size方法
2,String、StringBuilder、StringBuffer的区别?
String:内容是不可变的
StringBuilder:内容可变,线程不安全
StringBuffer:内容可变,线程安全

1,什么情况下用“+”运算符进行字符串连接比调用StringBuffer/StringBuilder对象的append方法连接字符串性能更好?
在java中无论使用何种方法进行字符串拼接,底层都是StringBuilder,所以是一样的

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Java基础易错概念性问题