您的位置:首页 > 编程语言 > Java开发

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

2016-10-18 21:34 676 查看

形式参数类型

目录

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

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