Java教程

JAVA基础学习

本文主要是介绍JAVA基础学习,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一.java基础

1.为什么java可以一次编码到处运行

答:.java文件进过编译器编译生成.class文件,JVM在不同平台会将.class文件翻译成相应的机器码。从而实现一次编码到处运行

2.一个java文件可以含有多个类吗

答:可以,但是只能含有一个public类,同时这个类名必须与java文件名一致

3.说一说你对Java访问权限的了解

四种访问权限:private,defalut,protected,public
修饰类时:
public:任意包下的任意类访问
defalut:本包下的类访问

修饰变量和方法时:
public :任意包任意类
protected:包内和子类
defalut:包内
private:本类

4.介绍一下Java的数据类型

java数据类有两类:基础数据类型和引用数据类型
1.基础数据类型
整数型:byte/8,short/16,int/32,long/64
浮点型:float/32,double/64
字符型:char/16
布尔型:boolean/~

int类型的范围:-2^31~ 2^31-1

2.引用数据类型
引用类型就是对一个对象的引用,根据引用对象类型的不同,可以将引用类型分为3类,即数组、类、接口类型。引用类型本质上就是通过指针,指向堆中对象所持有的内存空间,只是Java语言不再沿用指针这个说法而已。

5.面向对象的三大特征

继承,封装,多态
说一下你对多态的理解:
BaseClass obj = new SubClass()
obj编译时是BaseClass,而在运行时是subClass,当运行时调用obj的方法时,表现的可能是不同子类的特征。这就出现了,相同变量调用同一个方法时,呈现出不同的表现,这就是多态

6.介绍一下Object类中的方法

Class<?> getClass():返回该对象的运行时类。
boolean equals(Object obj):判断指定对象与该对象是否相等。
int hashCode():返回该对象的hashCode值。
String toString():返回该对象的字符串表示

另外,Object类还提供了wait()、notify()、notifyAll()这几个方法,通过这几个方法可以控制线程的暂停和运行。

Object类还提供了一个finalize()方法,当系统中没有引用变量引用到该对象时,垃圾回收器调用此方法来清理该对象的资源。并且,针对某一个对象,垃圾回收器最多只会调用它的finalize()方法一次。

7.hashCode()和equals()的关系

在使用集合时例如hashSet,判断一个元素是否相等,首先使用hashCode计算hash值,如果相等则会使用equals判断是否相等。所以在重写hashCode和equals方法时一定要保证以下原则
1.equals相等时,hashCode一定相等
2.hashCode不相等时,equals一定不相等

8. ==和equals()有什么区别?

答:基础数据类型==比较的是值是否相等,引用数据类型 ==比较的是地址是否相等。
equals如果没有重写,则和 == 的含义相同。

9.StringBuffer和StringBuilder有什么区别?

StringBuffer是线程安全的
StringBuilder是线程不安全的
StringBuilder的性能好于StringBuffer

10.使用字符串时,new和""推荐使用哪种方式?

new String(“hello”)会在常量池和堆中分别创建对象,总共产生两个对象。
"hello"则只会在常量池中创建这个对象,总共产生一个对象。
推荐使用"hello"方式

11.抽象类和接口的设计区别

接口设计的目的:自上而下的设计,对类行为的一种约束,只是约束有无,而不约束内容
抽象类设计的目的:自下而上的设计,代码复用

12.java异常体系

java异常体系

这篇关于JAVA基础学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!