面向对象笔记整理

来源:互联网 发布:wireshark抓端口 编辑:程序博客网 时间:2024/06/06 23:32

1、instanceof看看前面那个引用指向堆内存中的实际的对象是不是属于某一个类。

2、面向对象动态绑定也叫多态

class Animal{

public int age;

public String name;

public Animal(int age,String name){

this.age=age;

this.name=name;

}

public void haha(){

System.out.println("动物笑了");

}

}

class Dog extends Animal{

int height;

public Dog(int age,String name,int height){

super(age,name);

this.height=height;

}

public void haha(){

System.out.println("汪汪的笑了");

}

}

class Cat extends Animal{

public Cat(int age,String name){

super(age,name);

}

public void haha(){

System.out.println("喵喵的笑了");

}

}

class People{

public String name;

public Animal pat;

public People(String name,Animal pat){

this.name=name;

this.pat=pat;

}

public void mypathaha(Animal pat){

pat.haha();

}

public void test(Animal pat){

System.out.println(pat.name);

System.out.println(pat.age);

}

}

public class Demo2{

public static void main(String[] args){

//People p=new People("xiaohu",);

Animal a1=new Animal(5,"dongwu1");

a1.haha();

Animal a2=new Dog(6,"dongwu2",10);

a2.haha();

//System.out.println(a2.name+"  "+a2.age+"岁了"+a2.height+"");

System.out.println(a2.name+"  "+a2.age+"岁了");

Cat a3=new Cat(9,"dongwu3");

People p1=new People("张三",a1);

p1.mypathaha(a1);

p1.mypathaha(a2);

p1.mypathaha(a3);

}

}