1002 Java形式参数问题-类型名、抽象类、接口

来源:互联网 发布:sql随机生成昵称 编辑:程序博客网 时间:2024/05/16 02:36

形式参数类型

目录

[TOC]来生成目录:

  • 形式参数类型
      • 目录
      • 2种形式参数类型
        • 形式参数
        • 引用类型
      • 类名作为形式参数-代码块
      • 抽象类作为形式参数-代码块
      • 接口作为形式参数-代码块


2种形式参数类型

形式参数:

引用类型:

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

类名作为形式参数-代码块

//  <1>类作为形式参数class Student{    public void study(){        System.out.println("Good Good Study,Day Day Up!");    }}class StduentDemo{    public void method(Student s){        s.study();    }   }public class StudentTest {    public static void main(String[] args) {        StduentDemo sd = new StduentDemo();        Student ss =new Student();        sd.method(ss);    }}

抽象类作为形式参数-代码块

//  <2>抽象类作为形式参数//定义一个抽象类abstract class Person {    public abstract void study();}class PersonDemo {    public void method(Person p){ //真正需要的是该抽象类的子类对象,因为本身不能实例化        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) {        //需求:我要测试Person类中的study()方法        PersonDemo pd = new PersonDemo();//      Person p = new Student();  //Person p = new Student(); 多态        Person p = new Student();  //传入参数为Person类,因为是抽象类不可以直接实例化,需要间接实例化        pd.method(p);    }}

接口作为形式参数-代码块

//  <3>接口作为形式参数interface Love{    public abstract void love();}class LoveDemo{    public void method(Love l){ //Love l=new Teacher(); 多态        l.love();    }}class Teacher implements Love{   //接口的实现类对象    public void love(){        System.out.println("老师爱学生");    }}public class TeacherTest{    public static void main(String[] args) {        // 测试LoveDemo类中的love()方法        LoveDemo ld=new LoveDemo();        Love l=new Teacher(); //接口:需要的是该接口的实现类对象        ld.method(l);    }}
0 0
原创粉丝点击