多态的前提、多态的特点
多态的前提:
A:要有继承关系。
B:要有<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>重写。
其实没有也是可以的,但是如果没有这个就没有意义。
动物 d = new 猫();
d.show();
动物 d = new 狗();
d.show();
C:要有<a href="https://www.jb51.cc/tag/fulei/" target="_blank" class="keywords">父类</a>引用指向子类对象。
父 f = new 子();
用<a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>体现一下多态。
多态中的成员访问特点:
A:成员变量
编译看左边,运行看左边。
B:构造<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>
<span style="color: #ff0000;">创建子类对象的时候,访问<a href="https://www.jb51.cc/tag/fulei/" target="_blank" class="keywords">父类</a>的构造<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>,对<a href="https://www.jb51.cc/tag/fulei/" target="_blank" class="keywords">父类</a>的数据进行初始化。</span>
C:<span style="color: #ff0000;">成员<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a></span>
编译看左边,运行看<span style="color: #ff0000;">右边</span>。
D:静态<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>
编译看左边,运行看左边。
(静态和类相关,算不上重写,所以,访问还是左边的)
<span style="color: #ff0000;"><strong>由于成员<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>存在<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>重写,所以它运行看右边。
<span style="color: #008000;">*/<span style="color: #0000ff;">class<span style="color: #000000;"> Fu {
<span style="color: #0000ff;">public <span style="color: #0000ff;">int num = 100<span style="color: #000000;">;
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> show() {
System.out.println(</span>"show Fu"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> function() {
System.out.println(</span>"function Fu"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class Zi <span style="color: #0000ff;">extends<span style="color: #000000;"> Fu {
<span style="color: #0000ff;">public <span style="color: #0000ff;">int num = 1000<span style="color: #000000;">;
<span style="color: #0000ff;">public <span style="color: #0000ff;">int num2 = 200<span style="color: #000000;">;
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> show() {
System.out.println(</span>"show Zi"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> method() {
System.out.println(</span>"method zi"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> function() {
System.out.println(</span>"function Zi"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class<span style="color: #000000;"> DuoTaiDemo {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">要有父类引用指向子类对象。
<span style="color: #008000;">//<span style="color: #008000;">父 f = new 子();
Fu f = <span style="color: #0000ff;">new<span style="color: #000000;"> Zi();
System.out.println(f.num);
<span style="color: #008000;">//<span style="color: #008000;">找不到符号
<span style="color: #008000;">//<span style="color: #008000;"> System.out.println(f.num2);
<span style="color: #000000;">
f.show();
<span style="color: #008000;">//<span style="color: #008000;">找不到符号
<span style="color: #008000;">//<span style="color: #008000;"> f.method();
<span style="color: #000000;"> f.function();
}
}
多态的好处:
猫狗案例<a href="https://www.jb51.cc/tag/daima/" target="_blank" class="keywords">代码</a>
<span style="color: #008000;">*///父类,动物类
<span style="color: #0000ff;">class<span style="color: #000000;"><span style="color: #ff0000;"> Animal {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat(){
System.out.println("eat"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> sleep(){
System.out.println(</span>"sleep"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class Dog <span style="color: #0000ff;">extends<span style="color: #000000;"> Animal {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat(){
System.out.println("狗吃肉"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> sleep(){
System.out.println(</span>"狗站着睡觉"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class Cat <span style="color: #0000ff;">extends<span style="color: #000000;"> Animal {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat() {
System.out.println("猫吃鱼"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> sleep() {
System.out.println(</span>"猫趴着睡觉"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class Pig <span style="color: #0000ff;">extends<span style="color: #000000;"> Animal {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat() {
System.out.println("猪吃白菜"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> sleep() {
System.out.println(</span>"猪侧着睡"<span style="color: #000000;">);
}
}
<span style="color: #008000;">//<span style="color: #008000;">针对动物操作的工具类
<span style="color: #0000ff;">class<span style="color: #000000;"> AnimalTool {
<span style="color: #0000ff;">private<span style="color: #000000;"> AnimalTool(){}
<span style="color: #ff0000;">//不管是什么对象,都是Animal类,这就叫多态拓展性
<span style="color: #0000ff;">public <span style="color: #ff0000;">static <span style="color: #0000ff;">void<span style="color: #000000;"> useAnimal(<span style="color: #ff0000;">Animal a) {
<span style="color: #ff0000;">a.eat();
a.sleep();
}
}
<span style="color: #0000ff;">class<span style="color: #000000;"> test {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">我喜欢猫,就养了一只
Cat c = <span style="color: #0000ff;">new<span style="color: #000000;"> Cat();
</span><span style="color: #008000;">//</span><span style="color: #008000;">我很喜欢猫,所以,又养了一只</span>
Cat c2 = <span style="color: #0000ff;">new</span><span style="color: #000000;"> Cat();
</span><span style="color: #008000;">//</span><span style="color: #008000;">我特别喜欢猫,又养了一只</span>
Cat c3 = <span style="color: #0000ff;">new</span><span style="color: #000000;"> Cat();
AnimalTool.useAnimal(c);
AnimalTool.useAnimal(c2);
AnimalTool.useAnimal(c3);
System.out.println(</span>"--------------"<span style="color: #000000;">);
</span><span style="color: #008000;">//</span><span style="color: #008000;">我喜欢狗</span>
Dog d = <span style="color: #0000ff;">new</span><span style="color: #000000;"> Dog();
Dog d2 </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Dog();
Dog d3 </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Dog();
AnimalTool.useAnimal(d);
AnimalTool.useAnimal(d2);
AnimalTool.useAnimal(d3);
System.out.println(</span>"--------------"<span style="color: #000000;">);
</span><span style="color: #008000;">//</span><span style="color: #008000;">我喜欢宠物猪
</span><span style="color: #008000;">//</span><span style="color: #008000;">定义一个猪类,它要继承<a href="https://www.jb51.cc/tag/zidong/" target="_blank" class="keywords">自动</a>物,提供两个<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>,并且还得在工具类中<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>该类<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a><a href="https://www.jb51.cc/tag/diaoyong/" target="_blank" class="keywords">调用</a></span>
Pig p = <span style="color: #0000ff;">new</span><span style="color: #000000;"> Pig();
Pig p2 </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Pig();
Pig p3 </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Pig();
AnimalTool.useAnimal(p);
AnimalTool.useAnimal(p2);
AnimalTool.useAnimal(p3);
System.out.println(</span>"--------------"<span style="color: #000000;">);
</span>
<span style="color: #000000;">
}
}
多态的弊端
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> show() {
System.out.println("show zi"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> method() {
System.out.println(</span>"method zi"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class<span style="color: #000000;"> DuoTaiDemo3 {<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">测试
Fu f = <span style="color: #0000ff;">new<span style="color: #000000;"> Zi();
f.show();
f.method();<span style="color: #ff0000;">//编译看左边,但是左边的Fu没有method方法,会报错。不能使用子类的method方法
<span style="color: #000000;"> }
}
多态弊端的解决;
我就想使用子类的特有<a href="https://www.jb51.cc/tag/gongneng/" target="_blank" class="keywords">功能</a>?行不行?
行。
怎么用呢?
<span style="color: #ff0000;"> A:创建子类对象<a href="https://www.jb51.cc/tag/diaoyong/" target="_blank" class="keywords">调用</a><a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>即可。(可以,但是很多时候不合理。而且,太占内存了)</span>
<span style="color: #ff0000;">B:把<a href="https://www.jb51.cc/tag/fulei/" target="_blank" class="keywords">父类</a>的引用强制转换为子类的引用。(向下转型)</span>
对象间的转型问题:
<span style="color: #ff0000;"> 向上转型:
Fu f = new Zi();
向下转型:
Zi z = (Zi)f; //要求该f必须是能够转换为Zi的。
<span style="color: #008000;">*/<span style="color: #0000ff;">class<span style="color: #000000;"> Fu {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> show() {
System.out.println("show fu"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class Zi <span style="color: #0000ff;">extends<span style="color: #000000;"> Fu {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> show() {
System.out.println("show zi"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> method() {
System.out.println(</span>"method zi"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class<span style="color: #000000;"> DuoTaiDemo4 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">测试
Fu f = <span style="color: #0000ff;">new<span style="color: #000000;"> Zi();
f.show();
<span style="color: #008000;">//<span style="color: #008000;">f.method();
</span><span style="color: #008000;">//</span><span style="color: #008000;">创建子类对象
</span><span style="color: #008000;">//</span><span style="color: #008000;">Zi z = new Zi();
</span><span style="color: #008000;">//</span><span style="color: #008000;">z.show();
</span><span style="color: #008000;">//</span><span style="color: #008000;">z.method();
</span><span style="color: #ff0000;">//你能够把子的对象赋值给父亲,那么我能不能把父的引用赋值给子的引用呢?
//如果可以,但是如下
Zi z =</span><span style="color: #000000;"><span style="color: #ff0000;"> (Zi)f;
z.show();
z.method();</span>
}
}
多态问题的理解:
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> teach() {
System.out.println(</span>"讲解JavaSE"<span style="color: #000000;">);
}
}
</span><span style="color: #0000ff;">class</span> 孔子 <span style="color: #0000ff;">extends</span><span style="color: #000000;"> 孔子爹 {
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">int</span> age = 20<span style="color: #000000;">;
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> teach() {
System.out.println(</span>"讲解论语"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> playGame() {
System.out.println(</span>"英雄联盟"<span style="color: #000000;">);
}
}
</span><span style="color: #008000;">//</span><span style="color: #008000;">Java特别火,很多人来请孔子爹去讲课,这一天孔子爹被请走了
</span><span style="color: #008000;">//</span><span style="color: #008000;">但是还有人来请,就剩孔子在家,价格还挺高。孔子一想,我是不是可以考虑去呢?
</span><span style="color: #008000;">//</span><span style="color: #008000;">然后就穿上爹的衣服,带上爹的眼睛,粘上爹的胡子。就开始装爹
</span><span style="color: #008000;">//</span><span style="color: #008000;">向上转型</span>
孔子爹 k爹 = <span style="color: #0000ff;">new</span><span style="color: #000000;"> 孔子();
</span><span style="color: #008000;">//</span><span style="color: #008000;">到人家那里去了</span>
System.out.println(k爹.age); <span style="color: #008000;">//</span><span style="color: #008000;">40</span>
k爹.teach(); <span style="color: #008000;">//</span><span style="color: #008000;">讲解论语
</span><span style="color: #008000;">//</span><span style="color: #008000;">k爹.playGame(); </span><span style="color: #ff0000;">//这是儿子才能做的
</span><span style="color: #008000;">//</span><span style="color: #008000;">讲完了,下班回家了
</span><span style="color: #008000;">//</span><span style="color: #008000;">脱下爹的装备,换上自己的装备
</span><span style="color: #008000;">//</span><span style="color: #ff0000;">向下转型</span>
<span style="color: #ff0000;">孔子 k =</span><span style="color: #000000;"><span style="color: #ff0000;"> (孔子) k爹;</span>
System.out.println(k.age); </span><span style="color: #008000;">//</span><span style="color: #008000;">20</span>
k.teach(); <span style="color: #008000;">//</span><span style="color: #008000;">讲解论语</span>
k.playGame(); <span style="color: #008000;">//</span><span style="color: #008000;">英雄联盟</span></pre>
多态继承中的内存讲解:
多态中的对象变化内存图解:
多态中类转换异常:
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat() {}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> lookDoor() {
}
}
<span style="color: #0000ff;">class Cat <span style="color: #0000ff;">extends<span style="color: #000000;"> Animal {<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat() {
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> playGame() {
}
}
<span style="color: #0000ff;">class<span style="color: #000000;"> DuoTaiDemo5 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">内存中的是狗
Animal a = <span style="color: #0000ff;">new<span style="color: #000000;"> Dog();
Dog d =<span style="color: #000000;"> (Dog)a;
</span><span style="color: #008000;">//</span><span style="color: #008000;">内存中是猫</span>
a = <span style="color: #0000ff;">new</span><span style="color: #000000;"> Cat();
Cat c </span>=<span style="color: #000000;"> (Cat)a;
</span><span style="color: #008000;">//</span><span style="color: #008000;">内存中是猫</span>
<span style="color: #ff0000;">Dog dd = (Dog)a; //ClassCastException</span>
<span style="color: #000000;"> }
}
猫狗案例
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat() {
System.out.println("狗吃肉"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> lookDoor() {
System.out.println(</span>"狗看门"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class Cat <span style="color: #0000ff;">extends<span style="color: #000000;"> Animal {<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat() {
System.out.println("猫吃鱼"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> playGame() {
System.out.println(</span>"猫捉迷藏"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class<span style="color: #000000;"> DuoTaiTest {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">定义为狗
Animal a = <span style="color: #0000ff;">new<span style="color: #000000;"> Dog();
a.eat();
System.out.println("--------------"<span style="color: #000000;">);
<span style="color: #008000;">//<span style="color: #008000;">还原成狗
Dog d =<span style="color: #000000;"> (Dog)a;
d.eat();
d.lookDoor();
System.out.println("--------------"<span style="color: #000000;">);
<span style="color: #008000;">//<span style="color: #008000;">变成猫
a = <span style="color: #0000ff;">new<span style="color: #000000;"> Cat();
a.eat();
System.out.println("--------------"<span style="color: #000000;">);
<span style="color: #008000;">//<span style="color: #008000;">还原成猫
Cat c =<span style="color: #000000;"> (Cat)a;
c.eat();
c.playGame();
System.out.println("--------------"<span style="color: #000000;">);
</span><span style="color: #ff0000;">//演示<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a>的<a href="https://www.jb51.cc/tag/neirong/" target="_blank" class="keywords">内容</a>
//Dog dd = new Animal();
//Dog ddd = new Cat();
//ClassCastException
//Dog dd = (Dog)a;//这个编译不报错,运行才报错</span>
<span style="color: #000000;"> }
}
不同地方饮食文化不同的案例
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat() {
System.out.println("炒菜,吃米饭"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> jingShang() {
System.out.println(</span>"经商"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class NorthPerson <span style="color: #0000ff;">extends<span style="color: #000000;"> Person {<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> eat() {
System.out.println("炖菜,吃馒头"<span style="color: #000000;">);
}
</span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> yanJiu() {
System.out.println(</span>"研究"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class<span style="color: #000000;"> DuoTaiTest2 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
<span style="color: #008000;">//<span style="color: #008000;">测试
<span style="color: #008000;">//<span style="color: #008000;">南方人
Person p = <span style="color: #0000ff;">new<span style="color: #000000;"> SouthPerson();
p.eat();
System.out.println("-------------"<span style="color: #000000;">);
<span style="color: #ff0000;">SouthPerson sp <span style="color: #ff0000;">=<span style="color: #000000;"><span style="color: #ff0000;"> (SouthPerson)p;
sp.eat();
<span style="color: #ff0000;"> sp.jingShang();
System.out.println("-------------"<span style="color: #000000;">);
</span><span style="color: #008000;">//</span><span style="color: #008000;">北方人</span>
p = <span style="color: #0000ff;">new</span><span style="color: #000000;"> NorthPerson();
p.eat();
System.out.println(</span>"-------------"<span style="color: #000000;">);
<span style="color: #ff0000;">NorthPerson np </span></span><span style="color: #ff0000;">=</span><span style="color: #000000;"><span style="color: #ff0000;"> (NorthPerson)p;</span>
np.eat();
<span style="color: #ff0000;">np.yanJiu();</span>
}
}
看程序,出结果:
多态的成员访问特点:
<span style="color: #ff0000;"><a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>:编译看左边,运行看右边。</span>
继承的时候:
子类中有和<a href="https://www.jb51.cc/tag/fulei/" target="_blank" class="keywords">父类</a>中一样的<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>,叫重写。
<span style="color: #ff0000;">子类中没有父亲中出现过的<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>,<a href="https://www.jb51.cc/tag/fangfa/" target="_blank" class="keywords">方法</a>就被继承过来了。
<span style="color: #008000;">/<span style="color: #0000ff;">class<span style="color: #000000;"> A {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> show() {
show2();
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> show2() {
System.out.println("我"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class B <span style="color: #0000ff;">extends<span style="color: #000000;"> A {
<span style="color: #008000;">/<span style="color: #ff0000;">
public void show() {
show2();
}
*/
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> show2() {
System.out.println(</span>"爱"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">class C <span style="color: #0000ff;">extends<span style="color: #000000;"> B {
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> show() {
<span style="color: #0000ff;">super<span style="color: #000000;">.show();
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">void<span style="color: #000000;"> show2() {
System.out.println("你"<span style="color: #000000;">);
}
}
<span style="color: #0000ff;">public <span style="color: #0000ff;">class<span style="color: #000000;"> DuoTaiTest4 {
<span style="color: #0000ff;">public <span style="color: #0000ff;">static <span style="color: #0000ff;">void<span style="color: #000000;"> main(String[] args) {
A a = <span style="color: #0000ff;">new<span style="color: #000000;"> B();
a.show();
B b </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> C();
b.show();
}
}
原文链接:https://www.f2er.com/java/403346.html