建立公司基类AbstractCompany,成员方法自定。建立产品类Product,成员方法自定。建立公司的派生类Company,包括Product数组,表示公司的产品。建立Company的对象:华为(Huawei),大疆(DJI),比亚迪(BYD)。建立Product对象,包括手机(Phone),无人机(UAV),汽车(Car)等产品,并将产品对象赋给对应的公司对象。输出公司名称、地址、产品等信息。建立公司数组,将三个公司对象放入数组,输出数组中信息,并对公司按照名称排序。
时间: 2024-04-08 08:35:23 浏览: 85
根据你的要求,我将为你提供一个符合要求的类的示例。请注意,这只是一个基本的示例,你可以根据自己的需要进行扩展和修改。
首先,我们需要创建一个抽象类 AbstractCompany,其中包含公司的基本信息和成员方法。然后创建一个产品类 Product,其中包含产品的基本信息和成员方法。最后,创建一个派生类 Company,表示公司,并包含一个 Product 数组来表示公司的产品。
以下是示例代码:
```java
import java.util.Arrays;
abstract class AbstractCompany {
protected String name;
protected String address;
public AbstractCompany(String name, String address) {
this.name = name;
this.address = address;
}
public abstract void displayInfo();
}
class Product {
protected String name;
public Product(String name) {
this.name = name;
}
public void displayInfo() {
System.out.println("产品名称:" + name);
}
}
class Company extends AbstractCompany {
private Product[] products;
public Company(String name, String address, Product[] products) {
super(name, address);
this.products = products;
}
@Override
public void displayInfo() {
System.out.println("公司名称:" + name);
System.out.println("公司地址:" + address);
System.out.println("公司产品:");
for (Product product : products) {
product.displayInfo();
}
System.out.println();
}
}
public class Main {
public static void main(String[] args) {
// 创建产品
Product phone = new Product("手机");
Product uav = new Product("无人机");
Product car = new Product("汽车");
// 创建公司
Company huawei = new Company("华为", "深圳", new Product[]{phone});
Company dji = new Company("大疆", "深圳", new Product[]{uav});
Company byd = new Company("比亚迪", "深圳", new Product[]{car});
// 输出公司信息
huawei.displayInfo();
dji.displayInfo();
byd.displayInfo();
// 创建公司数组
AbstractCompany[] companies = {huawei, dji, byd};
// 输出公司数组信息
System.out.println("公司数组信息:");
for (AbstractCompany company : companies) {
company.displayInfo();
}
// 对公司按照名称排序
Arrays.sort(companies, (c1, c2) -> c1.name.compareTo(c2.name));
System.out.println("按照名称排序后的公司数组信息:");
for (AbstractCompany company : companies) {
company.displayInfo();
}
}
}
```
这段代码定义了一个抽象类 `AbstractCompany` ,具有名称和地址的属性,并包含一个抽象方法 `displayInfo()`。然后创建了一个 `Product` 类,具有名称的属性,并实现了 `displayInfo()` 方法。接着创建了一个继承于 `AbstractCompany` 的 `Company` 类,具有一个 `Product` 类型的数组来表示公司的产品,并实现了 `displayInfo()` 方法。
在 `main()` 方法中,我们创建了华为、大疆和比亚迪三个公司对象,并分别将手机、无人机和汽车产品对象分配给对应的公司对象。然后输出了每个公司的名称、地址和产品信息。
接下来,我们创建了一个 `AbstractCompany` 类型的数组,并将三个公司对象放入该数组中。然后输出了数组中每个公司的信息。最后,我们对公司数组按照名称进行排序,并再次输出排序后的公司数组信息。
这样,你就可以根据这个示例代码,创建公司和产品对象,并输出相关的信息了。
阅读全文