1、形式参数传递的是具体类!
class Student{
public void study(){
System.out.println("好好学习,天天向上") ;
}
}
class StudentDemo{
public void method(Student s){
s.study() ;
}
}
class StudentTest{
public static void main(String[] args){
StudentDemo sd = new StudentDemo() ;
Student student = new Student() ;
sd.method(student) ;
System.out.println("--------------") ;
new StudentDemo().method(new Student()) ;
}
}
2、 形式参数传递的是抽象类!
abstract class Person{
public abstract void love() ;
}
class PersonDemo{
public void function(Person p){
p.love() ;
}
}
class Student extends Person{
public void love(){
System.out.println("学生爱学习...") ;
}
}
class PersonTest{
public static void main(String[] args){
PersonDemo pd = new PersonDemo() ;
Person p = new Student() ;
pd.function(p);
}
}
3、 形式参数传递的是接口类!
interface Love{
void love() ;
}
class TeacherDemo{
public void show(Love l){
l.love() ;
}
}
class Teacher implements Love{
public void love(){
System.out.println("老师爱生活...") ;
}
}
class TeacherTest{
public static void main(String[] args){
TeacherDemo td = new TeacherDemo();
Love love = new Teacher() ;
td.show(love) ;
}
}