java9-2形式参数

时间:2023-03-09 15:35:28
java9-2形式参数

1、形式参数:
    基本类型(太简单)
    引用类型
    类名:(匿名对象的时候其实我们已经讲过了)需要的是该类的对象
    抽象类:需要的是该抽象的类子类对象
    接口:需要的是该接口的实现类对象

A、 类名:(匿名对象的时候其实我们已经讲过了)需要的是该类的对象 (这个例子就是这个)

 class student{
public void study(){
System.out.println("===学习===");
}
} class teacher{
public void method(student s)//这里引用了一个类,它所需要的是这个类的对象
{
System.out.println("---教导---");
}
} class StudentTest1 {
public static void main(String[] args) {
//调用student类中的study方法
student t = new student();
t.study();
System.out.println("----------");
//调用teacher类的method方法
teacher tc = new teacher();
//teacher类的method方法 引用了一个类,它所需要的是这个类的对象
student t1 = new student();
tc.method(t1);//它所需要的是这个类的对象
System.out.println("----------");
//匿名对象的用法调用teacher类的method方法
new teacher().method(new student());
} }

B、 抽象类:需要的是该抽象的类子类对象

 abstract class Person {
public abstract void study();
} class PersonDemo {
public void method(Person p) {//p; p = new Student(); Person p = new Student(); //多态
p.study();
}
} //定义一个具体的学生类
class Student extends Person {
public void study() {
System.out.println("Good Good Study,Day Day Up");
}
} class PersonTest {
public static void main(String[] args) {
//目前是没有办法的使用的
//因为抽象类没有对应的具体类
//那么,我们就应该先定义一个具体类
//需求:我要使用PersonDemo类中的method()方法
PersonDemo pd = new PersonDemo();
Person p = new Student();
pd.method(p);
}
}

C、 接口:需要的是该接口的实现类对象

 //定义一个爱好的接口
interface Love {
public abstract void love();
} class LoveDemo {
public void method(Love l) { //l; l = new Teacher(); Love l = new Teacher(); 多态
l.love();
}
} //定义具体类实现接口
class Teacher implements Love {
public void love() {
System.out.println("老师爱学生,爱Java,爱林青霞");
}
} class TeacherTest {
public static void main(String[] args) {
//需求:我要测试LoveDemo类中的love()方法
LoveDemo ld = new LoveDemo();
Love l = new Teacher();
ld.method(l);
}
}