注释 class Gent<T> { public void test() { System.out.println("Gent"); } } class SupC { public String toString() { return "supA"; } } public class Bc extends SupC { String b; public Bc( String b ) { this.b = b; } public String toString() { return "subB"; } public void test( Gent<? extends SupC> o ) { System.out.println("Bc"); } public static void main( String[] args ) { Bc bc = new Bc("test"); Gent<Bc> oGent = new Gent<Bc>(); bc.test(oGent); } }
时间: 2023-12-06 20:43:29 浏览: 20
这段代码定义了一个泛型类Gent,其中有一个test方法打印"Gent";另外定义了一个SupC类和一个继承自SupC的Bc类,Bc类实现了toString方法并且有一个String类型的属性b;在Bc类中定义了一个test方法,该方法接收一个泛型类型为Gent且泛型参数必须是SupC或其子类的对象,方法中打印"Bc";最后在main方法中创建了一个Bc对象bc和一个泛型类型为Bc的Gent对象oGent,并调用bc的test方法传入oGent对象。在编译时,Bc类的test方法中的泛型参数会被擦除为SupC,因此可以接收一个泛型类型为Bc或其父类的Gent对象。最终输出结果为"Bc"。
相关问题
注释class Gent<T> { public void test() { System.out.println("gent"); } } public class Testa { public static void main( String[] args ) { Gent<? extends String> o; o = new Gent<String>(); o.test(); //o=new gent<Number>(); } }
这段代码定义了一个泛型类 Gent,其中 <T> 表示该类是一个具有泛型类型参数 T 的类。该类中有一个 test 方法,用于输出 "gent" 字符串。
在 Testa 类的 main 方法中,定义了一个泛型类型为 <? extends String> 的 Gent 类型的变量 o。这里的 <? extends String> 表示该泛型类型参数必须是 String 类型或其子类类型。然后将 o 初始化为一个实际类型参数为 String 的 Gent 对象。接着调用 o 的 test 方法,输出 "gent" 字符串。
注释掉的那一行代码 o=new gent<Number>(); 是错误的,因为 <? extends String> 要求泛型类型参数必须是 String 或其子类类型,而 Number 不是 String 或其子类类型。
请制作一个HTML页面,包含了以下表格的内容(注意颜色与文字格式),请同学列示HTML内码内容: Global Co. Ltd. Sale Report Items Sold August 2016 Clothes Accessories Trousers Skirts Dresses Bracelets Rings Belgium Antwerp 56 22 43 72 23 Gent 46 18 50 61 15 Brussels 51 27 38 69 28 The Netherlands Amsterdam 89 34 69 85 38 Utrecht 80 12 43 36 19
以下为该表格的HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sale Report</title>
<style>
{
border-collapse: collapse;
width: 100%;
margin-bottom: 20px;
}
th, td {
text-align: center;
padding: 10px;
border: 1px solid black;
}
th {
background-color: #F0E68C;
font-weight: bold;
}
tr:nth-child(even) {
background-color: #F5DEB3;
}
</style>
</head>
<body>
<h1>Global Co. Ltd. Sale Report</h1>
<h2>Items Sold August 2016</h2>
<table>
<tr>
<th></th>
<th colspan="4">Clothes</th>
<th colspan="2">Accessories</th>
</tr>
<tr>
<th></th>
<th>Trousers</th>
<th>Skirts</th>
<th>Dresses</th>
<th>Bracelets</th>
<th>Rings</th>
</tr>
<tr>
<td>Belgium</td>
<td>Antwerp</td>
<td>56</td>
<td>22</td>
<td>43</td>
<td>72</td>
<td>23</td>
</tr>
<tr>
<td></td>
<td>Gent</td>
<td>46</td>
<td>18</td>
<td>50</td>
<td>61</td>
<td>15</td>
</tr>
<tr>
<td></td>
<td>Brussels</td>
<td>51</td>
<td>27</td>
<td>38</td>
<td>69</td>
<td>28</td>
</tr>
<tr>
<td>The Netherlands</td>
<td>Amsterdam</td>
<td>89</td>
<td>34</td>
<td>69</td>
<td>85</td>
<td>38</td>
</tr>
<tr>
<td></td>
<td>Utrecht</td>
<td>80</td>
<td>12</td>
<td>43</td>
<td>36</td>
<td>19</td>
</tr>
</table>
</body>
</html>
```
注意,此处省略了HTML文档的基本结构,只提供了表格相关的内容。具体解释:
- `<table>`: 表示一个表格,包含了整个表格的内容。
- `<tr>`: 表示一行,包含了该行的所有单元格。
- `<th>`: 表示表头单元格,通常加粗、居中、背景色不同。
- `<td>`: 表示数据单元格,通常左对齐、居中或右对齐。
- `colspan` 和 `rowspan`: 分别表示一行或一列中的单元格合并,可以将多个单元格合并为一个单元格。
- `text-align` 和 `vertical-align`: 分别表示文本在单元格中的水平和垂直对齐方式。
- `border-collapse` 和 `border`: 分别表示表格边框的合并方式和单元格的边框样式。
- `background-color` 和 `color`: 分别表示单元格的背景色和前景色(即字体颜色)。
- `nth-child`: 表示指定的子元素,可以用来设置表格行的交替颜色。