java之多态
程序员文章站
2022-03-11 08:53:58
概念:父类引用指向子类对象,从而产生多态。二者具有直接或间接地继承关系时,父类引用即指向子类对象,即形成多态。父类引用只可调用父类中声明的属性和方法,不可调用子类中独有的属性和方法。......
概念:
父类引用指向子类对象,从而产生多态。
- 二者具有直接或间接地继承关系时,父类引用即指向子类对象,即形成多态。
- 父类引用只可调用父类中声明的属性和方法,不可调用子类中独有的属性和方法。
实例:某中学的一名老师,没钱的时候骑自行车去学校,有钱了买了小汽车开车去学校。
public class Test01 {
public static void main(String[] args) {
Teacher t1=new Teacher();
//类的多态:子类对象指向父类引用
//类的多态:父类引用存储了子类对象的内存地址
Vehicl v1=new Bike();
t1.open(v1);
System.out.println("-------------------");
t1.close(v1);
Vehicl v2=new Car();
t1.open(v2);
System.out.println("-------------------");
t1.close(v2);
}
}
abstract class Vehicl{ //交通工具类(父类)
public abstract void start();
public abstract void stop();
}
class Bike extends Vehicl{ //自行类(子类)
@Override
public void start(){
System.out.println("开始骑车");
}
@Override
public void stop(){
System.out.println("开始下自行车");
}
}
class Car extends Vehicl{ //汽车类(子类)
@Override
public void start(){
System.out.println("汽车打火");
}
@Override
public void stop(){
System.out.println("汽车熄火");
}
}
class Teacher{ //教师类
public void open(Vehicl v){
v.start();
}
public void close(Vehicl v){
v.stop();
}
}
运行结果:
开始骑车
-------------------
开始下自行车
汽车打火
-------------------
汽车熄火
本文地址:https://blog.csdn.net/LLY_A_/article/details/107204052
推荐阅读
-
CodeIgniter控制器之业务逻辑实例分析,codeigniter控制器_PHP教程
-
php数组操作函数之array_push()函数用法与定义
-
ant编译java报“非法字符: \65279 ”错误的解决方法 z
-
Java的参数传递是「按值传递」还是「按引用传递」?
-
Percona-Tookit工具包之pt-slave-find
-
安装ssl证书后报错Caused by: java.io.IOException: DerInputStream.getLength(): lengthTag=109, too big.
-
java获取文件的mime,java获取文件是不是文本,java获取文件类型(非后缀方式)
-
mybatis的批量修改 之 ——」执行多条sql报错
-
【JAVA设计模式】- 建造者模式
-
前端笔记之JavaScript面向对象(四)组件化开发&轮播图|俄罗斯方块实战