Java开发面试题——基础(2)

本文介绍了Java中正则表达式的应用,包括字符串匹配和信息提取。接着讨论了Java异常处理的关键字try、catch、finally、throw、throws的含义及其执行顺序。同时,对比了抽象类和接口的区别,以及Java中接口的继承特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6.正则表达式的用法
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:

  1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):
  2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。

7.Java语言如何进行异常处理,关键字throws、throw、try、catch、finally风别带表什么意义?finally代码是在return之后还是之前执行?
try块表示程序正常的业务执行代码。如果程序在执行try块的代码时出现了“非预期”情况,JVM将会生成一个异常对象,这个异常对象将会被后面相应的catch块捕获。

catch块表示一个异常捕获块。当程序执行try块引发异常时,这个异常对象将会被后面相应的catch块捕获。

throw用于手动地抛出异常对象。throw后面需要一个异常对象。

throws用于在方法签名中声明抛出一个或多个异常类,throws关键字后可以紧跟一个或多个异常类。

finally块代表异常处理流程中总会执行的代码块。

对于一个完整的异常处理流程而言,try块是必须的,try块后可以紧跟一个或多个catch块,最后还可以带一个finally块。

try块中可以抛出异常。
8.abstract class 和interface有什么区别?接口可以继承接口吗?接口可以继承抽象类吗,为什么?

不同:
抽象类:
1.抽象类中可以定义构造器
2.可以有抽象方法和具体方法
3.接口中的成员全都是 public 的
4.抽象类中可以定义成员变量
5.有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法
6.抽象类中可以包含静态方法
7.一个类只能继承一个抽象类
接口:
1.接口中不能定义构造器
2.方法全部都是抽象方法
3.抽象类中的成员可以是 private、默认、 protected、 public
4.接口中定义的成员变量实际上都是常量
5.接口中不能有静态方法
6.一个类可以实现多个接口
相同:
1.不能够实例化
2.可以将抽象类和接口类型作为引用类型
3.一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要
被声明为抽象类

Java语法中,接口可以继承接口,抽象类可以实现接口,抽象类可以继承实体类。

Java语法中,使用interface定义一个接口,使用class定义一个类,使用关键字abstract + class定义一个抽象类。以下分别对这3个知识点进行解析:

1、接口可以继承接口
接口可以多继承接口,例如:Interface1 Extends Interface2, Interface3, Interface4……

代码示例为:

public interface Interface1 {

public void method1();

}

public interface Interface2 extends Interface1 {

public void method2();

}

public interface Interface3 extends Interface1, Interface2 {

public void method3();

}

2、抽象类可以实现接口
抽象类实现接口时,可以完全重写或覆盖接口中的方法,也可只重写接口中的部分方法。

代码示例为:

public interface InterfaceA {

public void method1();

public void method2();

public void method3();

}

abstract class ClassA implements InterfaceA {
public void method1(){}

public void method2(){}

}

3、抽象类可以继承实体类

抽象类可以继承实体类,但前提是实体类必须有明确的构造函数。

代码示例为:

class EntityA {

public EntityA() {

// 构造函数

}

public void helloWorld() {

System.out.println(“hello”);

}

}

abstract class ClassA extends EntityA {}

扩展资料:
1、Java继承或实现接口时需要遵循的原则:

(1)类优先于接口。 如果一个子类继承的父类和接口有相同的方法实现。 那么子类继承父类的方法。

(2)子类型中的方法优先于父类型中的方法。

(3)如果以上条件都不满足, 则必须显示覆盖/实现其方法,或者声明成abstract。

2、Java实现多继承的方式:
(1)Java中一个类不能继承多个具体class。
(2)一个类只可继承自一个具体 class,但可实现多个接口。 interface不涉及到实现细节,不与任何存储空间有关连。新类可继承自一个具象class,其余继承都得是interfaces。

(3)outer class不可继承自多个具体class,可在其内部设多个inner class,每个inner class都能各自继承某一实现类。inner class不受限于outer class是否已经继承自某一实现类。
(4)inner class可以说是多重继承问题的完整解决方案。一个类不能继承自多个一般类。但我们可以让其内部的多个inner class各自继承某一实现类达到类似的目的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值