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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。