![](/img/trans.png)
[英]how to use page object factory framework for child elments of a webelement
[英]how array of object behave when the elments are of diiferent types
,,,
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Try {
public static void main(String[] args) {
String [] a = new String [5];
a[0]="0";
a[1]="1";
List<List<String>> list = new ArrayList<>();
list.add(Arrays.asList(a));
for(List l : list)
{
System.out.println(l.get(0));
}
Object [] s = new Object[5];
Object [] d = new Object[10];
d[0]=10;
d[1]=10;
d[2]="me";
d[3]=new Integer(3);
d[4]=new person();
d[5]= 'x';
for(Object i : d)
{
System.out.println(i);
}
System.out.println(new person().toString());
}
static class person {
String name = "my name";
int age = 50;
public person()
{
name ="new name";
}
@Override
public String toString()
{
return name + "\n" + age;
}
}
}
,,,
我期待當您創建一個對象數組並使用強制轉換打印它時,它會打印出哈希碼。但是上面的代碼打印的值就好像它被強制轉換一樣,如果這是一個新的 java 功能?
System.out.println(x)
將調用x
的toString()
方法。 除非被覆蓋,否則該方法將打印出對象在 memory 中的位置。 你已經覆蓋了它。 這是因為即使分配給超類,子類方法也會“保留”。
class Foo {
public int run() {
return 1;
}
}
class Baz extends Foo {
@Override
public int run() {
return 2;
}
}
...
Foo f = new Baz();
f.run(); // >>> 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.