当前位置:网站首页 > Java基础 > 正文

java八股文是什么意思(java八股文是啥)



2024/11/1

第一次记录和发表,后续还会持续更新,喜欢的可以点点关注!谢谢!~

目录

一、Java基础

1.1 八种基本数据类型

1.2 装箱与拆箱

1.3 short s = 1;s = s + 1;和short s = 1;s += 1;的区别

1.4 基本类型与引用类型的区别

1.5 Java四大特性

1.6 ==与equals

1.7 final关键字

1.8 Java中的异常处理


包括:byte、short、int、long、float、double、boolean、char

数据类型关键字占用字节数字节型byte1短整型short2整型int4长整型long8单精度浮点型float4双精度浮点型double8布尔型boolean1字符型char2

定义:基本数据类型和对应的对象包装类型之间的转化。

原始类型封装类型byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublebooleanBooleancharCharacter

前者:编译错误!

原因:在进行s + 1运算的时候会自动提升表达式类型为int,将int赋值给short,就是高精度赋值给低精度,会溢出丢失数据,就好比一个小杯可乐装大杯可乐会溢出一样。

后者:编译成功!

原因:+=运算符,Java会对其特殊处理。


基本类型是保存原始值,引用类型保存的是引用值(即对象在堆中所处的位置)。


1.封装:把数据和操作数据的方法绑定起来,对数据的访问只能通过已经定义的接口,通过访问修饰符(private、protected、public)来控制对类成员的访问,提供公共的getter和setter方法来访问和修改私有成员。

2.继承:继承允许子类(派生类)继承父类(超类、基类)的属性和方法,Java只支持单继承,但可以通过接口实现多继承,继承通过extends关键字实现,子类可以重写父类的方法,从而提供特定的实现。

3.多态:允许不同类的对象对同一消息作出响应。

        Ⅰ多态的实现方式

        1)方法的重写(又名覆盖)(override):子类重新定义了父类的方法,必须要有相同的方法名、参数列表和返回类型,且访问修饰符要大于父类的(public>protected>default>private)。

 问题:是否可以覆盖private方法?

 答:不可以!private修饰的变量和方法只能在当前类使用,其他类继承该类是不能访问到的,因此也就不可以覆盖!

        2)方法的重载(overload):在同一个类里面出现两个或多个方法的方法名相同,但是参数不同的情况。

        Ⅱ多态的应用

        例如:

        商城系统,有两种用户:买家用户和卖家用户,两人都可以登录系统,他们都有相同的方法Login,但是他们登陆后会出现各自的界面,两者都继承了父类的Login方法,但是对于不同的对象,拥有不同的操作。

        3)通过方法的重写和重载,允许使用父类类型的引用指向子类对象,在运行时决定调用哪个类的方法。

4.抽象:只改变对象的行为和属性,不关心方法的细节,抽象类通常包含抽象方法,子类必须实现这些方法。抽象类不能实例化,只能通过子类实例化。


==:判断两个对象的地址是否相等。(基本数据类型==比较的是值,引用数据类型==比较的是内存地址)

equals():它也是判断两个对象是不是相等,但它有两种情况:
        *情况1:类没有重写equals()方法,此时就等价通过“==”比较这两个对象。

        *情况2:类重写了equals()方法,此时比较的就是两个对象的内容。

例子

 

说明:String中的equals方法是被重写过的。


应用场地:变量、方法、类。

注意点

1.对于final变量,如果是基本数据类型的变量,一旦初始化之后值就不可改变;如果是引用类型的变量,初始化后不能让其指向另一个对象。

2.当final修饰类时,则这个类不能被继承。


异常类层次结构图

Error(错误):是程序无法处理的错误。

Exception(异常):是程序本身可以处理的异常。

VirtualMachineError

虚拟机运行错误

AWTError

抽象窗口工具包(AWT)出现错误

IOException

输入输出异常

RuntimeException

运行时异常

StackOverFlowError

栈溢出

OutOfMemoryError

无法分配足够内存空间

EOFException

文件结束异常

FileNotFoundException

文件未找到异常

ArithmeticException

算数运算异常

MissingResourceException

资源绑定时找不到指定资源

ClassNotFoundException

类型转换异常

NullPointerException

空指针异常

IllegalArgumentException

传给方法的参数非法

ArrayIndexOutOfBoundException

数组越界异常

UnknownTypeException

无法识别的类型相关的问题

异常处理:

        *try块:捕获异常,其后可以接0个或者多个catch块,若没有catch块,则必须跟一个finally块。

        *catch块:处理try捕捉到的异常。

        *finally块:无论是否捕获或处理异常,finally块里的语句都会被执行,当在try块或者catch块中遇到return语句时,finally语句块将在方法返回之前被执行。

以下4种情况,finally块不会被执行:

1.在finally语句块中发生异常。

2.在前面的代码中用了System.exit()退出程序。

3.程序所在的线程死亡。

4.关闭CPU。

到此这篇java八股文是什么意思(java八股文是啥)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • java阻塞队列是线程安全的吗(java阻塞队列原理)2024-12-26 23:00:05
  • 单向链表排序java(单链表排序 java)2024-12-26 23:00:05
  • 学java比较好的网站(学java的平台)2024-12-26 23:00:05
  • java调用dll动态库代码(java调用dll 参数传递)2024-12-26 23:00:05
  • java字符串类型转换为int(java字符串转其他类型)2024-12-26 23:00:05
  • java面试题八股文面试(java面试八股文是哪些)2024-12-26 23:00:05
  • javajvm内存模型(jvm 的内存模型)2024-12-26 23:00:05
  • java爬虫步骤(java写爬虫程序)2024-12-26 23:00:05
  • java天气预报接口(java天气预报程序)2024-12-26 23:00:05
  • Java字符串转时间(java字符串转成时间)2024-12-26 23:00:05
  • 全屏图片