多态及重写案例演示

原创 2018年04月16日 19:18:11

利用封装,继承,多态知识点汇集来解决Teatcher和Student不同行为的案例演示,代码如下:

      /**
 * 人类
 * @author Administrator
 *
 */
public  abstract class People {
private  String name;
   private int age;
     public  abstract void eat() ;
     public void study() {
  System.out.println("学习了..");
  }

}

----------------------------------

public class Student extends People {
@Override
public void eat() {
// TODO Auto-generated method stub
System.out.println("正在吃鸡");
}
public void study() {
System.out.println("正在学习大数据...");
}
/**
* 旅游
*/
public void travel() {
System.out.println("去叙利亚一日游...");
}

}

-------------------------------------------------

public class Teacher extends People {
@Override
public void eat() {
System.out.println("正在吃大龙呀");
}
public void study() {
System.out.println("正在学习人工智能...");
}
public void play() {
System.out.println("陪宝宝在玩耍");
}

}

----------------------------------------------

public class Test {
public static void main(String[] args) {
//父类引用  变量名=new  具体的子类();
//点看左 输出看右
//创建一个数组 保存 2个人类的对象
  People  tt=new Teacher();   
      People  ss=new Student();   
      People[] peoples=new People[2];
       peoples[0]=ss;
       peoples[1]=tt;  
       //循环来查看数组中2个对象的 属性和方法
       for (People people : peoples) {
people.eat();
//people.travel();  学生所特有的
//需要再输出 学生和老师的不同的方法
if ( people  instanceof Student) {
Student  student= (Student) people;
student.travel();
}  
if (people instanceof Teacher) {
   Teacher teacher=(Teacher) people;
   teacher.play();
}  

       System.out.println("程序结束");

}

}

多态,重载,重写的理解

典型例子: public class Alpha { public void foo(String... args){ System.out.println("Alpha:fo...
  • ningchao328
  • ningchao328
  • 2016-08-23 11:39:46
  • 494

重载,重写,多态例子

重载,重写,多态例子
  • adam_zs
  • adam_zs
  • 2014-05-05 21:38:41
  • 1314

Java (多态性)(重写)

!!!简单地说,多态性是指一个名称可以对应多种不同的实现方式。Java的多态性体现在两个方面:编译多态和运行多态。 编译多态是指在程序编译过程中体现出的多态性,如方法重载,尽管方法名相同,但由于参数...
  • JACK_JYH
  • JACK_JYH
  • 2016-08-30 00:58:27
  • 487

继承、多态,重载、重写的区别与总…

继承、多态,重载、重写的区别与总结 一道必考的JAVA核心面试题,什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承、多态、重载和重写。 ...
  • li19236
  • li19236
  • 2014-11-25 18:10:42
  • 2096

java 中的多态的演示

多态:所谓多态就是指一个引用(类型)在不同状态下的多种状态 /* * 功能:演示多态 * * */ package com.haitao; public class Demo5 { ...
  • u010046013
  • u010046013
  • 2016-01-06 16:20:39
  • 138

C++重载重写重定义的区别及多态的概念

1.重载和重写的区别: 重载overload:在同一个类中,函数名相同,参数列表不同,编译器会根据这些函数的不同参数列表,将同名的函数名称做修饰,从而生成一些不同名称的预处理函数,未体现多态。  ...
  • u012043391
  • u012043391
  • 2017-04-08 16:22:06
  • 693

重写、覆盖、重载、多态几个概念的区别

override-->重写(=覆盖) overload-->重载  polymorphism-->多态 override 是重写了一个方法,已实现不同的功能。一般是子类继承父类时,重写(重...
  • u010847148
  • u010847148
  • 2015-09-03 01:39:14
  • 1156

Java之封装、继承、多态(重载、重写)

Java之封装、继承、多态
  • huixion
  • huixion
  • 2016-03-22 20:37:11
  • 1718

C++(多态实现原理)函数重写,重载,重定义

多态的实现原理:          首先介绍下函数重写 重定义 重载的区别; 函数重写:          发生在父类和子类之间,子类将父类中的同名函数进行了覆盖,如果在函数前面含有virtual那么...
  • alpha_love
  • alpha_love
  • 2017-03-13 17:14:55
  • 1367

java中重写、重载、多态几个概念区别分析

最近发现这几个概念有点混淆不清了。特意小结了一下,来帮助理清思路。         重写也称作覆盖,是指在继承关系中,子类并不想完全继承父类方法,而是想做自己的一些修改,可以让子类重写父类方法,使该...
  • u011458469
  • u011458469
  • 2015-05-31 17:33:51
  • 3017
收藏助手
不良信息举报
您举报文章:多态及重写案例演示
举报原因:
原因补充:

(最多只允许输入30个字)