java中举个向上类型转换,向下类型转换的例子瞧瞧

问题描述

java中举个向上类型转换,向下类型转换的例子瞧瞧
java中举个向上类型转换,向下类型转换的例子看看,谢谢。
类型的上下转换仅限父类和子类之间吗
基本数据类型之间的转换有上下类型转换这一种说法吗

解决方案

通俗地说,由于继承关系的存在,父类拥有的,子类也拥有;而子类额外有的,父类肯定没有。
例如:父类为动物,那么子类阿猫肯定是动物,但是动物不一定是阿猫。

 Animal  a = new Animal();Cat cat  = new Cat();a = cat;//可以将子类对象付给父类对象,反之却不可以。

解决方案二:
一个类型天然也是它基类的类型。比如
People p = new ChinesePeople();
反之不一定
ChinesePeople cp = (ChinesePeople)p; //这里需要强制类型转换

解决方案三:
基本数据类型没有上下转换这一说,向父类转就是向上,,向子类转就是向下

解决方案四:
java 向上与向下类型转换
java 类型转换的一些例子.
黑马程序员-Java 类型转换与向上、向下转型

解决方案五:
比如说有两个类:
Son(子类) extends Father(父类),
或者 一个实现类 A implements InterfaceB

那么 向上转型的写法是 Father father = new Son(); 或者 InterfaceB ib=new A();
假如Son有个独有的敲代码的方法,那么上面创建出来的father对象是调用不到这个方法的,这时就需要向下转型:
Son son = (Son) father;
son.敲代码();

注意:向上转型和向下转型是多态的一种体现,在基本数据类型之间是不存的,基本数据之间存在的是类型转换

时间: 2024-09-12 14:44:34

java中举个向上类型转换,向下类型转换的例子瞧瞧的相关文章

实用技巧 Java类型转换与强制类型转换

技巧|转换 如果你以前有编程经验,那么你已经知道把一种类型的值赋给另外类型的一个变量是相当常见的.如果这2种类型是兼容的,那么Java 将自动地进行转换.例如,把int 类型的值赋给long 类型的变量,总是可行的.然而,不是所有的类型都是兼容的,因此,不是所有的类型转换都是可以隐式实现的.例如,没有将double 型转换为byte 型的定义.幸好,获得不兼容的类型之间的转换仍然是可能的.要达到这个目的,你必须使用一个强制类型转换,它能完成两个不兼容的类型之间的显式变换.让我们看看自动类型转换和

代码分析-Java中如何判断文件夹下当天有没有放文件?

问题描述 Java中如何判断文件夹下当天有没有放文件? List files = ftpUtil.getFileList(this.ftpTaskFolder);//ftp任务目录上获取任务文件 // 获取机构号全量数据传输任务文件 String organcodeFileName = """"; for (int i = 0; files != null && i < files.size(); i++) { String tempFileN

错误日志-阿里云 Java环境 每小时在根目录下生成 hs_err_pid*.log ,求教!

问题描述 阿里云 Java环境 每小时在根目录下生成 hs_err_pid*.log ,求教! OS环境:阿里云 1核 1G内存: 安装软件:安装了 JDK 1.7 TOMCAT 7.X: 部署内容:部署了 java web 工程,工程正常运行: 问题:每小时在跟目录下生成一个 hs_err_pid.log 已经采取的措施: 1.配置服务器Swap 2.配置tomcat jvm 内存 (bin/catalina.sh) 未果,求牛人指点. 文件内容如下: # There is insuffici

java中举几个参数是(key,value)形式的方法看看

问题描述 java中举几个参数是(key,value)形式的方法看看 java中举几个参数是(key,value)形式的方法看看,并实例化参数,谢谢 解决方案 1.hashmap.put("id" , "1"); (还有其它Map) 2.json.put("type", 3); 3.response.setAttribute("code", "200") 4.urlConnection.setRequest

代码分析-JAVA 求大神帮看下这段代码 怎么修改 救命啊

问题描述 JAVA 求大神帮看下这段代码 怎么修改 救命啊 真心看不懂 public static char[] a(char[] paramArrayOfChar) { char[] arrayOfChar1 = new char[12]; char[] arrayOfChar2 = new char[12]; arrayOfChar2[0] = '?'; arrayOfChar2[1] = '?'; arrayOfChar2[2] = 'o'; arrayOfChar2[3] = '/';

java中举个实现抽象类抽象方法的例子瞧瞧,谢谢

问题描述 java中举个实现抽象类抽象方法的例子瞧瞧,谢谢 java中举个实现抽象类抽象方法的例子瞧瞧, 谢谢 我知道抽象类既可以有抽象方法也可以有非抽象方法的 解决方案 大致是这样子的,抽象类ClassABase里面既有抽象方法,又有非抽象方法,,抽象方法需要在子类中实现. ///// 抽象类 ClassABase.java public abstract class ClassABase { int a = 2; public abstract void output(); public v

java中举个内存溢出的例子,以及如何解决这个问题的

问题描述 java中举个内存溢出的例子,以及如何解决这个问题的 java中举个内存溢出的例子,以及如何解决这个问题的 有实例代码就最好啦 解决方案 所谓内存溢出 就是当前内存的使用已经超过了当前内存的供给,虽然有垃圾回收, 但是如果单位时间内你申请的频率太高,导致来不及及时释放,也会耗尽内存. 比如你虚拟机限制最大1G的内存 你不断用循环往容器(list, vector之类)添加对象,最后不会溢出吗?内存难道没有上限吗?就算你调用了垃圾回收函数请求 也解决不了 都是设计本身或者系统吞吐本身的限制

自己写的一个java程序,怎么在linux下设置成用户登录后启动?

问题描述 自己写的一个java程序,怎么在linux下设置成用户登录后启动? 我自己目前的办法是自己写了一个脚本,内容是:#!/bin/bashcd /ablationjava -jar newablation130222_fat.jar &然后在桌面终端下vi ~/.bash_profile 按i在文档的最后加入sh /ablation/auto.sh按esc然后按:w 回车键 但是这个办法不是很好,我希望通过纯代码实现,或者写一个脚本让java调用这个脚本在实现,请问各位该怎么办啊

mac-同一个java文件在eclipse和myeclipse下编译后的结果不一样

问题描述 同一个java文件在eclipse和myeclipse下编译后的结果不一样 同一个java文件,在mac eclipse下编译后,在mac本机tomcat上运行没有问题,扔到linux服务器上就无法正常运行.但是在,win7 myeclipse下编译后扔到linux服务器上又没有问题. 解决方案 具体有没有什么错误. 解决方案二: 楼主,"无法正常运行"的想象空间好大啊. 解决方案三: 是jdk的版本的问题吗