首页 > 编程语言 >java中的向下转型

java中的向下转型

时间:2024-09-25 15:01:27浏览次数:7  
标签:java Zi1 子类 转型 public Demo1 向下 z1

当我们构建一个父类引用指向子类对象的时候,该对象只能调用子类已经被重写的方法,而不能调用自己其他的方法,这时候就要用到向下转型

class Zi1 extends Fu1{
    @Override
    public void fun1() {
        System.out.println("李刚现在开始好好学习,天天向上!");
    }

    public void show1(){
        System.out.println("李刚现在没有睡觉...");
    }
}

class Demo1 extends Fu1{

}

public class DuoTaiDemo2 {
    public static void main(String[] args) {
        Fu1 z1=new Zi1();
        z1.fun1();
//        z1.show();没有转型前是调用不了的
        //向下转型的格式:
        //子类类名 变量名=(子类类名)要转型的变量名
        Zi1 f1=(Zi1)z1;
        f1.show1();  //通过向下转型就可以调用show1方法
    }
}
//并不是任意两个类型都可以进行向下转型,只有当实际内存对象与要转的对象类型一致时才可以
//        Demo1 d1=(Demo1) z1; 不行会报错,z1的对象类型是Zi1,而不是Demo1

标签:java,Zi1,子类,转型,public,Demo1,向下,z1
From: https://www.cnblogs.com/ndmtzwdx/p/18431399

相关文章

  • 最强Java100道核心面试题
    1.讲讲你理解的nio和bio的区别是啥,谈谈reactor模型。IO(BIO)是面向流的,NIO是面向缓冲区的BIO:BlockIO同步阻塞式IO,就是我们平常使用的传统IO,它的特点是模式简单使用方便,并发处理能力低。NIO:NewIO同步非阻塞IO,是传统IO的升级,客户端和服务器端通过Channel(通道)通......
  • 2024年 Java 面试八股文(25w字)
    Java有哪些数据类型?Java语言的数据类型分为两种:基本数据类型和引用数据类型。1.基本数据类型包括boolean(布尔型)、float(单精度浮点型)、char(字符型)、byte(字节型)、short(短整型)、int(整型)、long(长整型)和double(双精度浮点型)共8种,如下表所示。基本类型位数字节默认值int3240......
  • Java开发:文件上传和下载
    一、文件上传使用MultipartFile类型接收参数;调用上传有两种方式:方式一:使用curl命令curl-F"file=@/data/filename.txt"http://localhost:8080/upload--verbose方式二:使用html,写一个form表单:同样是POST请求,为何文件上传的功能会慢?其中一个原因是,使用multipart/fo......
  • Java基础部分-运算符
    算术运算符:+,-,*,/,%,++,--inta=10;intb=20;intc=25;intd=25;System.out.println(a+b);System.out.println(a-b);System.out.println(a*b);System.out.println(a/(double)b);//强制转......
  • 程序员必备Java面试题大总结!
    1、Mysql索引1.1索引的类型可以是String类型吗?聚簇索引----数据和索引放一块,像主键索引,具有唯一性(Innodb就是)数据库第一范式:必须要有id,这个id是自带索引的。一般用自增id,字符串可以做id,但是不好,像uuid做的id是随机的,都没有排序!!!不像自增id维护索引的成本会很低1.2什么是......
  • 双token三验证Java实现(解决单token可能存在的问题)
    1.单token存在的问题在正常的业务中,我们经常用到JWT生成单token进行后续的请求验证,但该模式有没有存在什么问题吗?其实是有问题的,主要是token有效期设置长短的问题,如果设置的比较短,用户会频繁的登录,如果设置的比较长,会不太安全,因为token一旦被黑客截取的话,就可以通过此tok......
  • 学习JAVA前的基础部分
    常用关键字:1.所有的标识符都应该以字母(A—Zanda-z),美元符($),下划线(_)开始,首字符之后可以是字母,美元符,下划线或者任何数字。2.Java所需要的组成部分都需要名字。类名、变量名以及方法都需要被称为标识符。3.标识符是大小写敏感的数据类型​ 强类型语言:要求变量的使用要严格符合......
  • Java基础部分-变量
    Java是一种强类型语言,每个变量都必须声明其类型Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。typevarName[=value][{,varName[=value]}];//数据类型变量名=值;可以使用逗号隔开来声明多个同类型变量。//类变量staticstaticdoublesal......
  • Understanding the difference between a Java keystore and a truststore
    Atruststoreisafilethatcontainsoneormorepubliccertificates,butnoprivatekeys. Akeystoreisafilethatcontainsoneormorepubliccertificatesandoneormoreprivatekeys.Thisistypicallya"chain"wherethekeystorecontain......
  • java中多态的扩展性
    创建一个动物父类和狗,猫子类,当这些子类中有共同方法只是实现不同时,我们可以利用多态的扩展性classAnimal{publicvoideat(){System.out.println("吃饭");}publicvoidsheep(){System.out.println("睡觉");}}classDogextendsAnima......