A 具体类是一个具有其所有方法的实现的类。他们不能有任何未实现的方法。它还可以扩展一个Abstract或实施一个接口只要它实现了他们的所有方法。它是一个完整的类并且可以被实例化。
换句话说,我们可以说任何不是抽象的类都是具体类。
具体类的必要条件:每个方法都必须有一个实现。
例子:下图显示了三个类 Shape、矩形和圆形。 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
相关用法
- Java ConcurrentHashMap computeIfPresent()用法及代码示例
- Java ConcurrentHashMap equals()用法及代码示例
- Java ConcurrentHashMap forEach()用法及代码示例
- Java ConcurrentHashMap getOrDefault()用法及代码示例
- Java ConcurrentHashMap hashcode()用法及代码示例
- Java ConcurrentHashMap mappingCount()用法及代码示例
- Java ConcurrentHashMap merge()用法及代码示例
- Java ConcurrentHashMap newKeySet()用法及代码示例
- Java ConcurrentHashMap replace()用法及代码示例
- Java ConcurrentHashMap toString()用法及代码示例
- Java ConcurrentLinkedQueue forEach()用法及代码示例
- Java ConcurrentLinkedQueue removeAll()用法及代码示例
- Java ConcurrentLinkedQueue removeIf()用法及代码示例
- Java ConcurrentLinkedQueue retainAll()用法及代码示例
- Java ConcurrentHashMap contains()用法及代码示例
- Java ConcurrentHashMap containsKey()用法及代码示例
- Java ConcurrentHashMap containsValue()用法及代码示例
- Java ConcurrentHashMap elements()用法及代码示例
- Java ConcurrentHashMap entrySet()用法及代码示例
- Java ConcurrentHashMap get()用法及代码示例
- Java ConcurrentHashMap isEmpty()用法及代码示例
- Java ConcurrentHashMap keys()用法及代码示例
- Java ConcurrentHashMap keySet()用法及代码示例
- Java ConcurrentHashMap put()用法及代码示例
- Java ConcurrentHashMap putAll()用法及代码示例
注:本文由纯净天空筛选整理自Shivam_72大神的英文原创作品 Concrete class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。