java抽象类,多态1
- 1 package pet_2;
- 2
- 3 public abstract class Pet {
- 4 private String name;
- 5
- 6 public String getName() {
- 7 return name;
- 8 }
- 9
- 10 public void setName(String name) {
- 11 this.name = name;
- 12 }
- 13 public abstract void eat();
- 14 }
- 15
- 16 package pet_2;
- 17
- 18 public class Cat extends Pet {
- 19 public void eat() {
- 20 System.out.println("吃鱼");
- 21 }
- 22 }
- 23
- 24 package pet_2;
- 25
- 26 public class Dog extends Pet {
- 27 public void eat() {
- 28 System.out.println("吃狗粮");
- 29 }
- 30
- 31 }
- 32
- 33 package pet_2;
- 34
- 35 public class Master {
- 36 //Pet pet=外界传入的实参
- 37 public void feed(Pet pet) {
- 38 System.out.println("喂"+pet.getName());
- 39 pet.eat();
- 40 }
- 41 }
- 42
- 43 package pet_2;
- 44
- 45 public class Mastertest {
- 46
- 47 public static void main(String[] args) {
- 48 Master master=new Master();
- 49 Pet dog =new Dog();
- 50 dog.setName("旺财");
- 51 master.feed(dog);
- 52 Pet cat=new Cat();
- 53 cat.setName("小花");
- 54 master.feed(cat);
- 55 }
- 56
- 57 }
- 58
- 59 package pet_2;
- 60
- 61 public class Master {
- 62 //Pet pet=外界传入的实参
- 63 public void feed(Pet pet) {
- 64 System.out.println("喂"+pet.getName());
- 65 pet.eat();
- 66 }
- 67 public static Pet getPet(int typeid) {//静态方法可以直接类名调用,无需实例化一个对象
- 68 Pet pet=null;
- 69 if(typeid==1) {
- 70 pet=new Cat();//or Cat cat=new Cat();
- 71 }else if(typeid==2) {
- 72 Dog dog=new Dog();
- 73 pet=dog;
- 74 }
- 75
- 76 return pet;
- 77 }
- 78 }
- 79
- 80
- 81
- 82 package pet_2;
- 83
- 84 public class Mastertest {
- 85
- 86 public static void main(String[] args) {
- 87 Master master=new Master();
- 88 //Pet dog =new Dog();
- 89 Pet dog=Master.getPet(2);
- 90 dog.setName("旺财");
- 91 master.feed(dog);
- 92 //Pet cat=new Cat();
- 93 Pet cat=Master.getPet(1);
- 94 cat.setName("小花");
- 95 master.feed(cat);
- 96 }
- 97
- 98 }
java抽象类,多态1的更多相关文章
- Java中多态、抽象类和接口
1:final关键字(掌握) (1)是最终的意思,可以修饰类,方法,变量. (2)特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量. (3)面试相关: ...
- java继承多态和抽象类接口
一.继承 通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类.已有的称为父类,新的类称为子类(父类派生子类,子类继承父类).(1)继承的优点: ①代码的可重用性: ②父类的属性 ...
- java抽象类、多态、接口
抽象类 抽象类的产生 当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能具体实现方式,那么这些方法都有具体的方法体. 但是有的时候,某个父类只是知道子类应该包含怎么样的方法,但 ...
- 记录:JAVA抽象类、接口、多态
JAVA抽象类.接口.多态 1. 多态 定义 多态是同一个行为具有多个不同表现形式或形态的能力.(多态就是同一个接口,使用不同的实例而执行不同操作) 如何实现多态 继承和接口 父类和接口类型的变量赋值 ...
- Java抽象类、继承及多态和适配器的实现
Java继承 方法重写是Java语言多态的特性,必须满足以下条件 在子类中,方法名称与父类方法名称完全相同 方法的参数个数和类型完全相同,返回类型完全相同 方法的访问修饰符访问级别不低于父类同名方法的 ...
- 深入Java核心 Java中多态的实现机制(1)
在疯狂java中,多态是这样解释的: 多态:相同类型的变量,调用同一个方法时,呈现出多中不同的行为特征, 这就是多态. 加上下面的解释:(多态四小类:强制的,重载的,参数的和包含的) 同时, 还用人这 ...
- 个人对Java中多态的一些简单理解
什么是多态 面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点. 多态的定义:指允许不同类的对象对同一消息做出响应.即同一 ...
- Java中多态的一些简单理解
什么是多态 .面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点. .多态的定义:指允许不同类的对象对同一消息做出响应.即 ...
- IEnumerator<TItem>和IEnumerator Java 抽象类和普通类、接口的区别——看完你就顿悟了
IEnumerable 其原型至少可以说有15年历史,或者更长,它是通过 IEnumerator 来定义的,而后者中使用装箱的 object 方式来定义,也就是弱类型的.弱类型不但会有性能问题,最主要 ...
随机推荐
- 关于eslint的使用与配置,以及prettier的使用
eslint官网:https://eslint.bootcss.com/docs/user-guide/getting-started eslint配置:http://eslint.cn/docs/r ...
- 4G DTU的数据透传功能如何实现
准备将众山科技4G DTU进行数据透传之前,先将电脑串口连接到4G DTU串口上.如果是没有硬件串口的电脑,可以通过USB转RS232串口转换线进行连接. 连接成功后,按照说明书中提供的初始参数进行设 ...
- Java Web中解决乱码的方式
Java Web中解决乱码的方式 方式一:添加编码过滤器 package com.itmacy.dev.filter; import javax.servlet.*; import javax.ser ...
- K8s之实践Pod深入理解
K8s之实践Pod深入理解 1.同一pod下的nginx+php+mysql nginx+php+mysql.yaml文件 --- apiVersion: v1 kind: Secret meta ...
- 适合 C++ 新手学习的开源项目——在 GitHub 学编程
作者:HelloGitHub-小鱼干 俗话说:万事开头难,学习编程也是一样.在 HelloGitHub 的群里,经常遇到有小伙伴询问编程语言如何入门方面的问题,如: 我要学习某一门编程语言,有什么开源 ...
- 「SHOI2014」三叉神经树
「SHOI2014」三叉神经树 给你一颗由\(n\)个非叶子结点和\(2n+1\)个叶子结点构成的完全三叉树,每个叶子结点有一个输出:\(0\)或\(1\),每个非叶子结点的输出为自己的叶子结点中较多 ...
- 分布式文档存储数据库之MongoDB索引管理
前文我们聊到了MongoDB的简介.安装和对collection的CRUD操作,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13941797.html:今天我 ...
- ORA-00020: maximum number of processes (40) exceeded模拟会话连接数满
问题描述:在正式生产环境中,有的库建的process和session连接数目设置的较小,导致后期满了无法连接.因为正式库无法进行停库修改,只能释放连接,做个测试模拟 1. 修改现有最大会话与进程连接数 ...
- 【JVM第八篇--垃圾回收】GC和GC算法
写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 1.垃圾 1.1.什么是垃圾 垃圾(Garbage)在Java语言中是指在运行程序中 ...
- 性能工具-io工具
I/O:某网上问题通过top iotop pidstat vmstat 工具定位出io高原因,内存不够.