JAVA基础学习
2021/7/25 14:06:11
本文主要是介绍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基础学习的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-19JAVA分布式id教程:轻松入门与实践
- 2024-11-19Java高并发教程:入门与实践指南
- 2024-11-19JAVA高并发直播教程:新手入门指南
- 2024-11-19Java高并发直播教程:入门与实践指南
- 2024-11-19Java微服务教程:初学者快速入门指南
- 2024-11-19JAVA微服务教程:新手入门的详细指南
- 2024-11-19Java微服务教程:从零开始搭建你的第一个微服务应用
- 2024-11-19Java项目开发教程:初学者必备指南
- 2024-11-19Java项目开发教程:新手快速入门指南
- 2024-11-19Java项目开发教程:零基础入门到实战