类,抽象类,接口作为形式参数的传递方法探究 您所在的位置:网站首页 类对象的引用做函数返回值 类,抽象类,接口作为形式参数的传递方法探究

类,抽象类,接口作为形式参数的传递方法探究

2024-07-03 12:46| 来源: 网络整理| 查看: 265

引用类型的形式参数解析

普通类:需要的是该类的对象 抽象类:需要的是该抽象的类子类对象 接口作为形式参数的传递

抽象类作为形式参数的传递

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); } }

类作为形式参数的传递

class Student { public void study() { System.out.println("Good Good Study,Day Day Up"); } } class StudentDemo { public Student getStudent() { return new Student(); } } class StudentTest3 { public static void main(String[] args) { //如何调用的呢? StudentDemo sd = new StudentDemo(); //Student s = sd.getStudent(); //s.study(); sd.getStudent().study();//链式编程 } }

接口作为形式参数的传递

例1 //定义一个爱好的接口 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); } } 例2 //定义一个爱好的接口 interface Love { public abstract void love(); } class LoveDemo { public Love getLove() { //Love l = new Teacher(); //return l; return new Teacher(); } } //定义具体类实现接口 class Teacher implements Love { public void love() { System.out.println("老师爱学生,爱Java,爱林青霞"); } } class TeacherTest2 { public static void main(String[] args) { //如何测试呢? LoveDemo ld = new LoveDemo(); Love l = ld.getLove(); //new Teacher(); Love l = new Teacher(); 多态 l.love(); } }

接口给出的两个例子的区别很简单,一个是通过多态获取了 new Teacher()这个对象,另外一个是通过getLove(); 这里返回的是new Teacher()这个对象,最后的效果都是一样的,获取了new Teacher()这个对象,前面的类以及抽象类的实现方法也都可以是这样的!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有