public class JavaWork {
private Tester tester;
public void setTester(Tester tester) {
this.tester = tester;
}
public void doTest() {
tester.test();
}
}tester 就一个Interface 实例,不是已经定义了吗? ——private Tester tester; 下面这句public void setTester(Tester tester) ,为什么还要定义它呢? 要是不定义就报错,这是为什么?
private Tester tester;
public void setTester(Tester tester) {
this.tester = tester;
}
public void doTest() {
tester.test();
}
}tester 就一个Interface 实例,不是已经定义了吗? ——private Tester tester; 下面这句public void setTester(Tester tester) ,为什么还要定义它呢? 要是不定义就报错,这是为什么?
Tester tester=new Tester();才能直接使用
public void setTester(Tester tester) 的Tester tester是方法的型参,通过这个方法来传Tester的实例。
默认tester=null,null不能调用方法 ,所以要对tester进行实例化
interface Tester{
public void test();
}class JavaWork { private Tester t1;public void setTester(Tester tester) {
tester = t1;
}
public void doTest() {
t1.test();
}
}
这样你就会明白了,不会混了.
这一行叫声明
public void setTester(Tester tester) {
this.tester = tester;
}
这个方法作用是赋值,也就是常说的实例化
Java是强类型语言,变量必须声明后使用