动态绑定(多态)
来源:互联网 发布:网络渗透软件 编辑:程序博客网 时间:2024/05/01 06:07
class Animal{
private String name;
public Animal(String name){
this.name=name;
}
public void enjoy(){
System.out.println("动物的叫声。。。。。。。。。。");
}
}
class Cat extends Animal{
String color;
public Cat(String name,String color){
super(name);
this.color=color;
}
public void enjoy(){
System.out.println("猫叫声。。。。。。。。。。。");
}
}
class Dog extends Animal{
String color;
public Dog(String name,String color){
super(name);
this.color=color;
}
public void enjoy(){
System.out.println("狗叫声。。。。。。。。。。。。。");
}
}
/*class Bird extends Animal{
String color;
public Bird(String name,String color){
super(name);
this.color=color;
}
public void enjoy(){
System.out.println("鸟叫声。。。。。。。。。。。。。");
}
}
*/
class Lady{
private String name;
private Animal pet;
public Lady(String name,Animal pet){
this.name=name;
this.pet=pet;
}
public void myPetEnjoy(){
pet.enjoy();
}
}
public class A {
public static void main (String [] args)
{
Cat cat=new Cat("mimi","yellow");
Dog dog=new Dog("huahua","black");
//Bird bird=new Bird("yingwu","red");
Lady l1=new Lady("lily",cat);
Lady l2=new Lady("jack",dog);
// Lady l3=new Lady("john",bird);
l1.myPetEnjoy();
l2.myPetEnjoy();
//l3.myPetEnjoy();
}
private String name;
public Animal(String name){
this.name=name;
}
public void enjoy(){
System.out.println("动物的叫声。。。。。。。。。。");
}
}
class Cat extends Animal{
String color;
public Cat(String name,String color){
super(name);
this.color=color;
}
public void enjoy(){
System.out.println("猫叫声。。。。。。。。。。。");
}
}
class Dog extends Animal{
String color;
public Dog(String name,String color){
super(name);
this.color=color;
}
public void enjoy(){
System.out.println("狗叫声。。。。。。。。。。。。。");
}
}
/*class Bird extends Animal{
String color;
public Bird(String name,String color){
super(name);
this.color=color;
}
public void enjoy(){
System.out.println("鸟叫声。。。。。。。。。。。。。");
}
}
*/
class Lady{
private String name;
private Animal pet;
public Lady(String name,Animal pet){
this.name=name;
this.pet=pet;
}
public void myPetEnjoy(){
pet.enjoy();
}
}
public class A {
public static void main (String [] args)
{
Cat cat=new Cat("mimi","yellow");
Dog dog=new Dog("huahua","black");
//Bird bird=new Bird("yingwu","red");
Lady l1=new Lady("lily",cat);
Lady l2=new Lady("jack",dog);
// Lady l3=new Lady("john",bird);
l1.myPetEnjoy();
l2.myPetEnjoy();
//l3.myPetEnjoy();
}
}
//00000000000以下这种效果不是最好的00000000000000000000000000
class Animal{
public String name;
public Animal(String name){
this.name=name;
}
}
class Cat extends Animal{
public String color;
public Cat(String name,String color){
super(name);
this.color=color;
}
}
class Dog extends Animal{
public String color;
public Dog(String name,String color){
super(name);
this.color=color;
}
}
public class A {
public static void main (String [] args)
{
A a=new A();
Animal animal=new Animal("animal");
Cat cat=new Cat("mimi","yellow");
Dog dog=new Dog("huahua","black");
a.f(animal);
a.f(cat);
a.f(dog);
}
public void f(Animal a){
System.out.println("name :"+ a.name);
if(a instanceof Cat){
Cat c=(Cat)a;
System.out.println(" "+c.name+" "+c.color);
}
else if(a instanceof Dog){
Dog d=(Dog)a;
System.out.println(" "+d.name+" "+d.color);
}
}
}
0 0
- 动态绑定(多态)
- 多态(动态绑定)
- 静态绑定与动态绑定(多态)
- java 多态(动态绑定)
- java多态(动态绑定)
- JavaSE_21th_多态(动态绑定)
- java例程练习(多态/动态绑定/迟绑定)
- Java 动态绑定(多态)和静态绑定,隐藏
- 多态,动态类型,动态绑定
- java基础:多态(动态绑定)
- 小谈虚函数实现动态绑定(多态)
- j2se学习笔记-多态(动态绑定)
- Java之动态绑定(多态)
- Java学习心得之动态绑定(多态)
- C++ 多态 动态绑定
- java 多态 动态绑定
- 多态(动态绑定)
- Java之动态绑定/多态/迟绑定
- Map的应用(节省空间和时间)
- const int function(const int a,const int b) const的意义
- 冬季热车的注意事项
- 解决隐式声明与内建函数不兼容问题
- 重写Equals方法
- 动态绑定(多态)
- 接口的简单应用
- 黑马程序员_JAVA学习笔记12
- SqlParameter[]写法
- 增强版for循环
- 重写hashCode方法
- ASP.NET MVC4+ORACLE+EF+EXTJS4.2.1开发
- android跨进程通信(IPC):使用AIDL
- 遍历磁盘