您的位置:首页 > 其它

抽象类和接口作为形参问题

2016-10-13 11:01 225 查看
1 /*
2     形式参数: 4         引用类型
5             类名:需要的是该类的对象
6             抽象类:需要的是该抽象的类子类对象
7             接口:
8 */
9 abstract class Person {
10     public abstract void study();
11 }
12
13 class PersonDemo {
14     public void method(Person p) {//p; p = new Student();  Person p = new Student(); //多态
15         p.study();
16     }
17 }
18
19 //定义一个具体的学生类
20 class Student extends Person {
21     public void study() {
22         System.out.println("Good Good Study,Day Day Up");
23     }
24 }
25
26 class PersonTest {
27     public static void main(String[] args) {
28         //目前是没有办法的使用的
29         //因为抽象类没有对应的具体类
30         //那么,我们就应该先定义一个具体类
31         //需求:我要使用PersonDemo类中的method()方法
32         PersonDemo pd = new PersonDemo();
33         Person p = new Student();
34         pd.method(p);
35     }
36 }


抽象类作为参数类型

 

 

 

接口作为参数类型

1 /*
2     形式参数:
3         基本类型
4         引用类型
5             类名:需要的是该类的对象
6             抽象类:需要的是该抽象的类子类对象
7             接口:需要的是该接口的实现类对象
8 */
9 //定义一个爱好的接口
10 interface Love {
11     public abstract void love();
12 }
13
14 class LoveDemo {
15     public void method(Love l) { //l; l = new Teacher();  Love l = new Teacher(); 多态
16         l.love();
17     }
18 }
19
20 //定义具体类实现接口
21 class Teacher implements Love {
22     public void love() {
23         System.out.println("老师爱学生,爱Java,爱林青霞");
24     }
25 }
26
27 class TeacherTest {
28     public static void main(String[] args) {
29         //需求:我要测试LoveDemo类中的love()方法
30         LoveDemo ld = new LoveDemo();
31         Love l = new Teacher();
32         ld.method(l);
33     }
34 }


4000

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: