zoukankan      html  css  js  c++  java
  • 10.02

    多态变化,static关键字

    package com.beyondTest;

    public class DuoTaiTest {
    public static void main(String[] args) {
    SiYangYuan syy=new Cat();
    syy.Feed();


    }

    }
    class SiYangYuan{
    public void Feed(){

    }

    }
    class Cat extends SiYangYuan{ //多态一定要实现继承,因为多态的发生条件是必须重写父类方法
    public void Feed(){
    System.out.println("给猫喂食");
    }
    }
    class Dog extends SiYangYuan{
    public void Feed(){
    System.out.println("给狗喂食");
    }
    public void eatShit(){
    System.out.println("eat shit!!!");
    }
    }

    以上是多态的代码体现;

    package com.beyondTest1;


    public class SiYangYuan {

    public void Feed(Animal a){
    Cat cat=(Cat) new Animal();
    a.eatFood();

    }
    public static void main(String[] args) {
    T tt=new T();
    Animal xx=new Dog();
    // tt.test(xx);
    // 
    Dog dog=new Dog();
    dog.eatShit();

    Dog dog1=(Dog)xx ;
    dog1.eatShit();

    }

    class Animal{
    public void eatFood(){}
    public void slepp(){}
    }
    /* 在T类中编写test方法 将Animal绑定在(传入)方法,然后将Animal类转换成Cat类
    * 这样的话在主方法中调用test方法,会将任何传入的值

    * */
    class T{
    public void test(Animal a){ //静态绑定的例子 编译期就将Animal类绑定在方法test中,
    Cat yyCat=(Cat)a;
    yyCat.Feed();
    }
    }

    class Cat extends Animal{ //多态一定要实现继承,因为多态的发生条件是必须重写父类方法
    public void Feed(){
    System.out.println("给猫喂食");
    }
    }

    class Dog extends Animal{
    public void Feed(){
    System.out.println("给狗喂食");
    }
    public void eatShit(){
    System.out.println("eat shit!!!");
    }
    }

    以上是静态的代码体现;

  • 相关阅读:
    docker学习笔记(一)-vagrant/docker machine安装docker,阿里云通过docker machine安装docker
    docker安装 centos7
    Robot Framework user guide
    Powershell 备忘
    如何在linux系统内用openssl 生成 过期的证书
    同时装了Python3和Python2,怎么用pip?
    python 基础笔记三
    python 基础笔记二
    python对文件的操作
    3-4 字典的嵌套
  • 原文地址:https://www.cnblogs.com/wanghaoning/p/14143746.html
Copyright © 2011-2022 走看看