多态

abstract class YuanGong {

private String name ;

 String Id ="001";

double salary=3.141592653546264;

YuanGong(){}

YuanGong(String name,String Id ,double salary){

this.name = name ;

this.Id = Id;

this.salary =salary;

}

public void setName (String name){

this.name =name;

}

public  String getName(){

return name;

}

public  void show(){

System.out.println("经理的名字:"+name+"编号:"+Id+"薪水:"+salary);

}

public abstract void Gan();

 

 

}

 

public class JingLi extends YuanGong {

           JingLi (){}

           JingLi (String name ,String Id,double salary){

           super (name,Id,salary);

           }

           public void Gan(){

           System.out.println("经理安排工作");

           }

 

public class CheShi {

public static void main(String[] args) {

 JingLi j = new JingLi("元哥吉祥","001",3333.1); 

 YuanGong y = new JingLi ();   //父类引用指向子类对象

 j.Gan();

 j.show();

}

 

}

 

abstract class Animal {

   private String name ;  //成员变量

   private int age ;

   

   Animal (){}

   

   Animal (String name ,int age){

   this .name = name ;

   this.age = age;

   }

   public  void setName (String name){

   thisname = name ;

   

   }

   public String getName (){

   return name ;

   }

   

   

   public  void setAge (int age){

   thisage = age ;

   

   }

   public int getAge (){

   return age ;

   }

   

   

   public abstract void eat ();//抽象方法

   public abstract void sleep ();

   

// 接口   

   interface Jump{

     public abstract void jump();

   }

   

  

}

public  class Dog extends Animal {

  public void eat (){                            //子类重写父类的抽象方法, 为多态

  System.out.println("狗吃肉,吃的老香了。");

  }

  public void sleep(){

  System.out.println("狗睡觉梦游");

  }

       

}

 

 

import duotaitext.Animal.Jump;

                                        //实现接口

public class MiaoXingRen extends Dog implements Jump {

   public void jump (){

    System.out.println("狗 跑的飞快");

   }

}

 

 

public class AnimalDemo {

public static void main(String[] args) {

Dog g = new Dog ();

g.eat();

g.sleep();

System.out.println();

MiaoXingRen m = new MiaoXingRen ();

 m.jump();

}

 

}

 

 

 

 

 

 

 

 

 

 

 

 

//多态

public class Fu {

  int  num  =10; //成员变量

  

  public void show (){

  System.out.println("fu show");

  }

  public static void show2(){

  System.out.println("fu show --2");

  }

  

}

 

 

public class Zi extends Fu {

   int num =20;

   

   public void show (){

   System.out.println("zi show");  //多态要有继承,方法重写

   }

   public static void show2 (){

    System.out.println("zi show ---2");

   }

}

 

 

public class FuTest {

public static void main(String[] args) {

 Fu f = new Zi ();    //父类的引用指向子类的对象

 System.out.println(f.num ); //父类的十

 

 f.show();  //子类覆盖了父的方法

 

 f.show2();  //父类不能调用子类独有的功能

 

 Zi z =(Zi)f;

 z.show2();   //强转之后,才能得出, 拿到, 子类独有的方法, 。

 

}

 

}

 

超人英雄:

 

 

public class Person {

 String  name  ="斯塔克"//成员变量。 父类

 

 public void Zheng(){

 System.out.println("开公司挣钱"); //父类的成员方法

 }

 

}

 

public class BianShen  extends Person{

        String  name = "钢铁侠";  //  子类要继承父类的 成员变量 和成员方法

        

        public void Zheng (){

        System.out.println("拍张照片。 赚点小钱");

        }

        public void JiuRen(){

        System.out.println("救小孩");// 子类扩展的功能

        }

        public  void Fei (){

         System.out.println("");

        }

        

}

 

 

public class PsersonTest {

 public static void main(String[] args) {

 Person p = new BianShen ();  //父类引用指向 子类对象, 多态

 System.out.println(p.name);  //父类成员变量

 p.Zheng();  //子类覆盖了父类的成员方法 。 子类不能覆盖父类的成员变量, 可以覆盖成员方法

 

 BianShen b = new BianShen ();

 System.out.println(b.name);

 b.JiuRen();

 b.Fei();

}

 

}

 

 

 

动物://父类

 

public class Animal {

  private String name ;

  private int age ;

  

  Animal (){}

  Animal (String name ,int age ){

  this.name = name ;

  this.age = age ;

  }

  public void setName (String name){

   thisname = name ;

  }

  public String  getName (){

  return name ;

  }

  

  public void setAge (int age){

  thisage =age ;

  }

 public  int getAge (){

  return age;

 }

 public void sleep (){

   System.out.println("动物都睡觉:");

 }

 public void eat (){

  System.out.println("动物都吃");

 }

}

//子类

public class Dog extends Animal{

       public void eat(){

        System.out.println("哈士奇吃饭");

       }

       public void sleep (){

        System.out.println("哈士奇 睡觉");

       }

       public void da(){

       System.out.println("打呼噜");

       }

}

 

//子类

public class Cat extends Animal  {

       public void eat (){

        System.out.println("加菲猫吃");

       }

       public void sleep (){

        System.out.println("加菲猫睡觉");

       }

}

 

public class AnimalTest {

 public static void main(String[] args) {

  Dog g = new Dog ();

  g.eat();

  g.sleep();

  g.setAge(10);

  g.setName("饭团");

  System.out.println(g.getAge()+g.getName());

  Animal a =new Dog ();

 

  Dog z = (Dog)a; //父类想要拿子类的对像, 就必须向下转型。 做强转

  z.da();

  

}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值