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