找到 4330 篇文章 适用于 Java 8

如果子类没有覆盖 Java 中的抽象方法会发生什么?

Maruthi Krishna
更新于 2020-06-29 14:39:48

6K+ 浏览量

没有主体的方法称为抽象方法。它只包含方法签名和分号,以及它前面的 abstract 关键字。public abstract myMethod();要使用抽象方法,您需要通过扩展其类并为其提供实现来继承它。包含 0 个或多个抽象方法的类称为抽象类。如果它至少包含一个抽象方法,则必须将其声明为抽象。扩展抽象类一旦您在 Java 中扩展抽象类,您需要覆盖其中的所有抽象方法,或者将其声明为抽象。如果您不这样做,则会... 阅读更多

接口的抽象方法可以在 Java 中抛出异常吗?

Maruthi Krishna
更新于 2020-06-29 14:27:42

2K+ 浏览量

是的,接口的抽象方法可以抛出异常。示例在以下示例中,接口(MyInterface)包含一个名为 display 的抽象方法,该方法抛出 IOException。import java.io.IOException; abstract interface MyInterface {    public abstract void display()throws IOException ; }遵循的规则在实现此类方法时,您需要遵循以下规则:如果接口中的抽象方法抛出某些异常。实现的方法可以抛出与以下所示相同的异常:示例 1 实时演示import java.io.IOException; abstract interface MyInterface {    public abstract void display()throws IOException ; } public class InterfaceExample implements MyInterface{    public void ... 阅读更多

抽象方法声明可以在 Java 中包含 throws 子句吗?

Maruthi Krishna
更新于 2020-06-29 14:28:41

2K+ 浏览量

没有主体的方法称为抽象方法。它只包含方法签名和分号,以及它前面的 abstract 关键字。public abstract myMethod();是的,您可以从抽象类抛出异常。示例在以下 Java 程序中,我们有两个类:一个名为 MyClass 的抽象类,它具有一个抽象方法(display()),以及另一个扩展抽象类的类。这里,display() 方法抽象类抛出 IOException。示例 实时演示import java.io.IOException; abstract class MyClass {    public abstract void display() throws IOException; } public class AbstractClassExample extends MyClass{    public void display() throws IOException ... 阅读更多

在 Java 中从实现类访问两个相同接口的变量?

Maruthi Krishna
更新于 2020-06-29 14:29:24

768 浏览量

Java 中的接口类似于类,但它只包含抽象方法和字段,这些字段是最终的和静态的。您可以使用 Java 中的单个类实现多个接口。每当两个接口具有相同的名称时,由于接口的所有字段默认都是静态的,因此您可以使用接口的名称访问它们,如下所示:示例interface MyInterface1{    public static int num = 100;    public void display(); } interface MyInterface2{    public static int num = 1000;    public void show(); } public class InterfaceExample implements MyInterface1, MyInterface2{    public static int num = 10000; ... 阅读更多

如果一个类没有实现 Java 中接口的所有抽象方法会发生什么?

Maruthi Krishna
更新于 2020-06-29 14:31:01

2K+ 浏览量

Java 中的接口类似于类,但它只包含抽象方法和字段,这些字段是最终的和静态的。在单独的类中,您需要实现此接口并为其所有抽象方法提供主体。一旦您使用类实现接口,您必须为其所有抽象方法提供主体(实现),或者将类声明为抽象。如果您不这样做,则会为每个未实现的方法生成编译时错误,提示“InterfaceExample 不是抽象的,并且没有覆盖接口_name 中的抽象方法 method_name”。在以下 Java 程序中,我们有一个名为 ... 阅读更多

我们可以在 Java 中的接口内部定义构造函数吗?

Maruthi Krishna
更新于 2020-06-29 14:31:53

7K+ 浏览量

不,您不能在 Java 中的接口内包含构造函数。截至 Java7,您只能拥有公共、静态、最终变量以及公共、抽象方法。从 Java8 开始,接口允许默认方法和静态方法。从 Java9 开始,接口允许私有和私有静态方法。此外,您在接口中定义的所有方法(上述方法除外)都应由另一个类实现(覆盖)。但是,您不能在 Java 中覆盖构造函数。如果您仍然尝试在接口中定义构造函数,它会生成编译时错误。示例在以下 Java 程序中,我们尝试在接口内定义构造函数。public interface MyInterface{   ... 阅读更多

解释如何在 Java 中从字符串中删除前导零

Venkata Sai
更新于 2020-06-29 14:48:21

3K+ 浏览量

每当您将整数值读取到字符串中时,您可以使用 StringBuffer 类、使用正则表达式或通过将给定字符串转换为字符数组来删除其前导零。转换为字符数组以下 Java 程序从用户那里读取整数值到字符串中,并通过将给定字符串转换为字符数组来删除其前导零。示例import java.util.Scanner; public class LeadingZeroes {    public static String removeLeadingZeroes(String num){       int i=0;       char charArray[] = num.toCharArray();       for( ; i

我们可以在 Java 中序列化静态变量吗?

Venkata Sai
更新于 2020-06-29 14:48:49

4K+ 浏览量

在 Java 中,序列化是一个概念,我们可以使用它将对象的 state 写入字节流中,以便我们可以通过网络传输它(使用 JPA 和 RMI 等技术)。但是,静态变量属于类,因此您不能在 Java 中序列化静态变量。如果您仍然尝试这样做,程序会成功编译,但会在执行时引发异常。在以下 Java 程序中,类 Student 具有一个静态变量,我们尝试在另一个名为 ExampleSerialize 的类中序列化和反序列化其对象。示例import java.io.FileInputStream; import java.io.FileOutputStream; ... 阅读更多

我们可以在 Java 中将接口声明为 final 吗?

Maruthi Krishna
更新于 2020-06-29 14:33:25

4K+ 浏览量

Java 中的接口类似于类,但它只包含抽象方法和字段,这些字段是最终的和静态的。由于所有方法都是抽象的,因此您无法实例化它。要使用它,您需要使用类实现此接口,并在其中为所有抽象方法提供主体。使接口成为 final。如果您将类声明为 final,则无法扩展它。如果您将方法设为 final,则无法覆盖它,如果您将变量设为 final,则无法修改它。即使用 final 修饰 Java 实体,您将无法进一步修改它们。如果您将接口设为 final,则... 阅读更多

我们可以在 Java 中为接口创建对象吗?

Maruthi Krishna
更新于 2020-06-29 14:14:48

16K+ 浏览量

不,您不能实例化接口。通常,它包含抽象方法(Java8 中引入的默认方法和静态方法除外),这些方法是不完整的。如果您仍然尝试实例化接口,则会生成编译时错误,提示“MyInterface 是抽象的;无法实例化”。在以下示例中,我们有一个名为 MyInterface 的接口和一个名为 InterfaceExample 的类。在接口中,我们有一个整数字段(公共、静态和最终)num 和抽象方法 demo()。从类中,我们尝试:创建接口的对象并打印 num 值。示例 实时演示interface MyInterface{    public static final int num ... 阅读更多

广告