java 07 多态强转

例子1

class Interfacedemoplus{
public static void main(String[] agrs){
Womanstar Won =new Womanstar();
//隐式转换
Whit w = Won;
Rich r = Won;

//无包含关系,强转
Beautiful b = (Beautiful)w;

//打印Beau
b.Beau();

//小范围 往大范围转
WRB wrb =(WRB)b;
Whit www =wrb;

}
}

//定义接口
interface Whit{
void vertWhit ();
}

interface Rich{
void hasmoney ();
}

interface Beautiful{
void Beau ();
}
//一个接口继承三个接口
interface WRB extends Whit,Rich,Beautiful {

}

//类实现接口多个接口
class Womanstar implements WRB {
public void vertWhit(){
System.out.println("很白~~");
}
public void hasmoney(){
System.out.println("有钱~~");
}
public void Beau(){
System.out.println("美丽~~");
}
}

-------------------------------------------------------------------------------------------------------------------

例子2

class Interfacedemochangliang{
public static void main(String[] agrs){
Jing8 jin8 =new Jing8();
jin8.meng();
//变相调用
Dog d =jin8;
d.watch();
//多态
anmial a = d;
a.cry();
//强制转换多态
Pet pet =(Pet) a;
//强制转换多态
anmial aa =(anmial)pet;
//jin8既继承了dog和anmial又implements Pet所以可以直接看
Pet jjj =jin8;
}
}

//接口中加入常量

abstract class anmial {
public void cry(){
System.out.println("汪汪汪");
}
}

class Dog extends anmial{
public void watch(){
System.out.println("有人来了~~");
}
}

//继承加接口
class Jing8 extends Dog implements Pet {
public void meng(){
System.out.println("!!重新为~~");
}
}

interface Pet{
void meng();
}

原文地址:https://www.cnblogs.com/simly/p/10240248.html

时间: 2024-11-06 22:29:11

java 07 多态强转的相关文章

Java:多态乃幸福本源

01 多态是什么 在我刻板的印象里,西游记里的那段孙悟空和二郎神的精彩对战就能很好的解释“多态”这个词:一个孙悟空,能七十二变:一个二郎神,也能七十二变:他们都可以变成不同的形态,但只需要悄悄地喊一声“变”. Java的多态是什么呢?其实就是一种能力——同一个行为具有不同的表现形式:换句话说就是,执行一段代码,Java在运行时能根据对象的不同产生不同的结果.和孙悟空和二郎神都只需要喊一声“变”,然后就变了,并且每次变得还不一样:一个道理. 多态的前提条件有三个: 子类继承父类 子类覆盖父类的方法

Java:对象的强、软、弱和虚引用(转)

1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期.这4种级别由高到低依次为:强引用.软引用.弱引用和虚引用.图1为对象应用类层次. 图1 ⑴强引用(StrongReference) 强引用是使用最普遍的引用.如果一个对象具有强引用,那垃圾回收器绝不会回收它.当内存空

Java:对象的强、软、弱和虚引用

本文介绍对象的强.软.弱和虚引用的概念.应用及其在UML中的表示. author: ZJ 07-12-1 Blog: [url]http://zhangjunhd.blog.51cto.com/[/url] 1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期.这4种级

Java 07 example

留下两个例子作为参考, 1. 追逐小方块的例子 2. HashMap 和 Iterator 的例子 Example one: import acm.graphics.*; import acm.program.*; import java.awt.*; import java.awt.event.*; public class TargetSeeker extends GraphicsProgram { /* private constants */ private static final i

Java中多态的一些简单理解

什么是多态 1.面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点. 2.多态的定义:指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式.(发送消息就是函数调用) 3.实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法. 4.多态的作用:消除类型之间的耦合关系. 5.现实中,关于多态的例子不

个人对Java中多态的一些简单理解

什么是多态 面向对象的三大特性:封装.继承.多态.从一定角度来看,封装和继承几乎都是为多态而准备的.这是我们最后一个概念,也是最重要的知识点. 多态的定义:指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式.(发送消息就是函数调用) 实现多态的技术称为:动态绑定(dynamic binding),是指在执行期间判断所引用对象的实际类型,根据其实际的类型调用其相应的方法. 多态的作用:消除类型之间的耦合关系. 现实中,关于多态的例子不胜枚举. 下面是多态

Java对象的强、软、弱和虚引用原理+结合ReferenceQueue对象构造Java对象的高速缓存器

//转 http://blog.csdn.net/lyfi01/article/details/6415726 1.Java对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走.一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了. 但有时候情况

Java中的强引用、软引用、弱引用和虚引用

本文为阅读下面四篇博文的读书笔记 http://sishuok.com/forum/blogPost/list/342.html http://blog.sae.sina.com.cn/archives/5228?utm_source=tuicool http://www.cnblogs.com/dolphin0520/p/3784171.html http://blog.csdn.net/arui319/article/details/8489451 四种引用的前世今生 Java 在设计之初就

JAVA泛型多态

先度娘一下多态的概念: 多态==晚绑定. 不要把函数重载理解为多态. 因为多态是一种运行期的行为,不是编译期的行为. 多态:父类型的引用可以指向子类型的对象. 比如 Parent p = new Child(); 当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误: 如果有,再去调用子类的该同名方法. (来源:http://www.cnblogs.com/mengdd/archive/2012/12/25/2832288.html) 那如果要在Java中泛型做多态如何使用