📜  Java中的具体类

📅  最后修改于: 2022-05-13 01:54:26.181000             🧑  作者: Mango

Java中的具体类

具体类是一个类,它的所有方法都有一个实现。他们不能有任何未实现的方法。它也可以扩展一个抽象类或实现一个接口,只要它实现了它们的所有方法。它是一个完整的类,可以实例化。

换句话说,我们可以说任何不是抽象的类都是具体的类。

具体类的必要条件:每个方法都必须有一个实现。

示例:下图显示了三个类 Shape、Rectangle 和 Circle。 Shape 是抽象的,而 Rectangle 和 Circle 是具体的并继承 Shape。这是因为 Rectangle 和 Circle 实现了 area() 方法。

示例 1:下面的代码显示了一个简单的具体类:

// Java program to illustrate concrete class
  
// Concrete Class
class Main {
  
    // this method calculates
    // product of two numbers
    static int product(int a, int b)
    {
        return a * b;
    }
  
    // this method calculates
    // sum of two numbers
    static int sum(int a, int b)
    {
        return a + b;
    }
  
    // main method
    public static void main(String args[])
    {
        int p = product(5, 10);
        int s = sum(5, 10);
  
        // print product
        System.out.println("Product: " + p);
  
        // print sum
        System.out.println("Sum: " + s);
    }
}
输出:
Product: 50
Sum: 15

示例 2:下面的代码说明了一个扩展抽象类的具体类。接口 X 中的方法 product() 由 Product 类实现,但它没有实现方法 sum(),因此它必须是抽象的。而 Main 类实现了未实现的方法 sum(),因此没有未实现的方法。因此,它是一个具体的类。

// Java program to illustrate concrete class
  
// This is an interface
interface X {
    int product(int a, int b);
    int sum(int a, int b);
}
  
// This is an abstract class
abstract class Product implements X {
  
    // this method calculates
    // product of two numbers
    public int product(int a, int b)
    {
        return a * b;
    }
}
  
// This is a concrete class that implements
class Main extends Product {
  
    // this method calculates
    // sum of two numbers
    public int sum(int a, int b)
    {
        return a + b;
    }
  
    // main method
    public static void main(String args[])
    {
        Main ob = new Main();
        int p = ob.product(5, 10);
        int s = ob.sum(5, 10);
  
        // print product
        System.out.println("Product: " + p);
  
        // print sum
        System.out.println("Sum: " + s);
    }
}
输出:
Product: 50
Sum: 15