public void setName(String name)
来源:互联网 发布:qq旋风怎么样知乎 编辑:程序博客网 时间:2024/04/26 10:31
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void cry(){
System.out.println("不知道怎么叫");
}
public static void main (String[] args){
DuoTai an=new Cat();
an.cry();
System.out.println(an.count);
DuoTai ni=new Dog();
System.out.println(ni.count);
ni.cry();
}
}
class Cat extends DuoTai{
int count=5;
public void cry(){
System.out.println("喵喵 ");
}
}
class Dog extends DuoTai{
int count=50;
public void cry(){
System.out.println("汪汪叫");
}
}
运行看看:F11
喵喵
100
100
汪汪叫
现在我们就可以很好的明白多态的机制了,但是我有点晕了,对于这个用多态实现的对象,它内存中是如何实现的呢
当然main栈区呢 有na ni
但堆内存中是什么样的内???
ni(栈内存)
int count(自身的成员变量)上下
cry()子类覆写的cry (如何现实的不造,原理)纠结的感觉
只能是父类引用子类的构造函数,反过来不行。
多态引用变量会调用子类的方法,但是堆内存上依然存储的是自己的成员变量,只是方法指向了子类的方法吗??.
如果是指向子类的方法,那么子类必须要实现实例化,所以不成立
如果子类中有父类不曾有的方法,看看ni还能不能调用,即可知道。
答案不用说啦,编译不能通过。
ok,我感觉自己有点明白了一些,多态就是用子类的调用方法,来将子类中重写的父类方法,让父类调用。即父类对象的框架上,将子类的覆写方法覆盖父类的方法,当然父类类上不存在的方法,对象没有内存空间存放子类方法,编译自然就有问题了。总之,多态就是与覆写方法有关,与成员变量无关。
- public void setName(String name)
- public void pushValue(String queue, String... values)
- public static void main(String[] args) 分析
- public static void main(String [] args)
- public Static void main(String[]args){
- public static void main(String[] args)
- 浅谈 public static void main(String[] args)
- 关于public static void main(String[] args)
- public static void main(String[] args){…}
- public static void main(String[] arg)
- public static void main(String[] args)
- public static void main(String[] args){}函数
- public static void main(String[] args)
- public static void main(String[] args)
- 验证public static void main(String[] args)
- public static void main(String [] args){}
- public static void main(String[] args)理解
- public URL getResource(String name)的教训
- 史上 12 大著名安全后门植入案例
- NBUT 1573 字符串大配对
- UVA 10534 Wavio Sequence
- 学习java也快一年多了!
- HDU 3549 Flow Problem 网络流入门
- public void setName(String name)
- Java 接口和抽象类区别
- 模仿linux内核定时器代码,用python语言实现定时器
- Thread的join()
- vim常用命令
- 设计模式 - 状态模式(state pattern) 详解
- 如何jpg和png混和使用,实现mask?
- spring mvc 入门学习(一)
- 啥地方地方三顿饭