引用类型的形式参数

 1 /* 
 2 形式参数:
 3     基本数据类型
 4     引用类型:
 5         类名:(匿名对象的时候其实我们已经讲过)需要的是该类的对象
 6         抽象类: 需要的是该类的子类对象
 7         接口: 参数是实现接口的子类对象
 8     
 9  */
10  
11 //形式参数是抽象类
12 abstract class Person
13 {
14     public abstract void study();
15 }
16 
17 class PersonDemo
18 {
19     //形式参数是抽象类
20     public void method(Person p){// p; p = new Student(); //多态
21         p.study();
22     }
23 }
24 
25 //定义一个学生类
26 class Student extends Person 
27 {
28     public void study(){
29         System.out.println("我爱学习");
30     }
31 }
32 
33 // 测试类
34 public class PersonTest
35 {
36     public static void main(String[] args){
37         //创建PersonDemo对象
38         PersonDemo pd = new PersonDemo();
39         Person p = new Student();
40         //调用
41         pd.method(p);
42     }
43 }




 1 /*
 2     形式参数:
 3         基本类型(太简单,不是我今天要讲解的)
 4         引用类型
 5             类名:(匿名对象的时候其实我们已经讲过了) 需要的是该类的对象
 6             抽象类:
 7             接口
 8 */
 9 //参数是类名的情况: 可以是匿名对象
10 
11 class Student
12 {
13     public void study(){
14         System.out.println("good good learn, day day up");
15     }
16 }
17 
18 class StudentDemo
19 {
20     public void method(Student s){
21         s.study();
22     }
23 }
24 
25 public class StudentTest
26 {
27     public static void main(String[] args){
28         //创建StudentDemo类,用于调用方法
29         StudentDemo sd = new StudentDemo();
30         sd.method(new Student());
31         
32         //匿名对象调用
33         System.out.println("-------------------------------");
34         new StudentDemo().method(new Student());
35     }
36 }

三: 形式参数为接口

 1 /*
 2     形式参数:
 3         基本类型(太简单,不是我今天要讲解的)
 4         引用类型
 5             类名:(匿名对象的时候其实我们已经讲过了)需要的是该类的对象
 6             抽象类:需要的是该抽象的类子类对象
 7             接口:需要的是该接口的实现类对象
 8 */
 9 //定义一个爱好的接口
10 interface Love
11 {
12     public abstract void love();
13 }
14 
15 class LoveDemo
16 {
17     public void method(Love l){
18         l.love();
19     }
20 }
21 
22 //继承接口
23 class Teacher implements Love 
24 {
25     public void love(){
26         System.out.println("我爱你");
27     }
28 }
29 
30 public class TeacherTest
31 {
32     public static void main(String[] args){
33         //需求:我要测试LoveDemo类中的love()方法
34         LoveDemo ld = new LoveDemo();
35         Love l = new Teacher();
36         ld.method(l);
37     }
38 }

猜你喜欢

转载自www.cnblogs.com/yu-zhi/p/9404529.html