/*
抽象类和接口作为形式参数:
抽象类:需要的是该抽象的类子类对象
接口:需要的是该接口的实现类(或者说子类也可行)对象
//下面这句话一定要理解并记住:
//抽象类和接口虽然都不能直接创建对象,但是可以通过多态进行对象的创建...
*/
//************抽象类作为形式参数***********
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);
}
}
//************接口作为形式参数***********
//定义一个爱好的接口
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);
}
}
抽象类和接口作为形式参数 多态 抽象类和接口虽然都不能直接创建对象,但是可以通过多态进行对象的创建
原创
©著作权归作者所有:来自51CTO博客作者nrsc的原创作品,请联系作者获取转载授权,否则将追究法律责任

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
多态、抽象类与接口
学习内容: 一、多态 1.定义:同一变量,同一方法执行出不同结果。 示例代
每日日报 抽象类 子类 自动生成 -
【面向对象】抽象类和接口
目录1. 抽象类的特点2. 接口的特点3. 抽象类和接口的区别1. 抽象类的特点抽象类可以有构造方法,但不能
抽象类 java 设计模式 抽象方法 构造方法 -
spring服务解耦技巧
Springspring 核心容器:bean、core、contex(核心容器对象)、spEL耦合可以理解为程序间的依赖关系 比如类的依赖 方法的依赖。耦合不能消除 只能降低,解耦就是降低依赖度。比如编译期的依赖 可以改为运行期的依赖 就是降低耦合度的一种方法,也叫解耦。反射可以实现编译期的依赖变成运行期的依赖。spring也是通过反射的方法实现一些程序间的解耦
spring服务解耦技巧 junit 引入spring 注解管理 spring el表达式解析 spring 单例 获取多例的位 spring多线程获取不到bean