-
引用类型转换主要分为两个,一个是向上类型转换,是小类型转换到大类型,我们把这种方式叫做隐式也叫做自动类型转换。我们还有一种情况叫做向下类型转换,也就是说从大类型到小类型,我们把这种情况叫做强制类型转换。要注意,向上类型转换是不存在风险的。例如说我把杯子里面的水倒到壶里面,那正常来讲肯定是没有问题的,计算机它会自动的帮我们做这件事情。所以说我们也把它叫做自动类型转换。而向下类型转换是存在风险的,例如说我把壶里面的水倒到杯子里面,这是有风险的,因为它可能会发生溢出,也就是说杯子里面的水装不下壶里面所有的水,那么就会流出来,我们把这种情况就叫做数据的溢出,是存在风险的。我们也可以强制计算机做这种操作的,那么我们怎么来避免这种风险呢?我们可以使用instanceof这个运算符,可以帮助我们来解决对象引用类型转换时的一些安全性问题。在测试类主函数里Dog dog=new Dog(); Animal animal=dog;//自动类型转换 向上类型转换 Dog dog2=(Dog)animal;向下类型转换 强制类型转换,但是这样做存在风险,什么风险呢?例如说我们把父类的引用转换成Cat的引用,Cat cat=animal;可能是存在问题的,但是我们刚刚说过,我们可以通过强制类型转换解决这个问题,Cat cat=(Cat)animal;但是大家想想这里存不存在问题呢,虽然我强制把这个类型进行转换了,但是毕竟我这个引用指向的是Dog对象,但是运行的时候会报错,那是为什么呢?是我们自己强制把animal这个引用类型转换成cat类型,我们用到了一个强制类型转换,所以说在编译的时候,我们是按cat类型进行编译的,那由于是我们程序员强制做的类型转换,编译器是不会报错的,但是当我们运行的时候,他为什么就出现错误了呢?因为我们想想,我们真正开辟的内存空间是什么类型啊?是Dog类型,对吧?查看全部
-
1,定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即: 内部类 对象名 = 外部类对象.new 内部类( ); 2,内部类生成class文件名: 外部类名$内部类名.class查看全部
-
1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 3. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便 问:内部类有几种呢? 答:内部类可分为以下几种: 成员内部类 静态内部类 方法内部类 匿名内部类查看全部
-
程序运行时静态初始化块最先被执行,然后执行普通初始化块,最后才执行构造方法。查看全部
-
静态初始化块只在类加载时执行,且只会执行一次 同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。查看全部
-
静态成员推荐使用类名直接访问。 静态成员属于整个类。查看全部
-
局部变量和成员变量的区别: 1,作用域不同 局部变量的作用域仅限于定义它的方法 成员变量的作用域在整个类 2,初始值不同 Java没有给局部变量赋予初始值 Java会给成员变量一个初始值 3,优先级不同 当局部变量与成员变量同名时,局部变量拥有更高的优先级。查看全部
-
Object类查看全部
-
UML:统一建模语言或者标准建模语言 是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。 常用UML图: 用例图 能够以可视化的方式,表达系统如何满足所收集的业务规则以及特定的用户需求等信息。(用户和用户的关系) 序列图 用于按照交互发生的一系列顺序,显示对象之间的这些交互,更关注序列的关系。(用户和系统的关系) 类图 类和类之间的关系 UML建模工具:visio 、Rational rose、 powerdesigner 完成UML建模后,可以自动生成java代码查看全部
-
类是但继承,接口是多继承查看全部
-
接口:可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成。 类是一种具体的实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里的方法的实现细节,它只规定这些类里必须提供某些方法。查看全部
-
抽象类不能直接创建,可以定义引用变量查看全部
-
使用规则: abstract定义抽象类 abstract定义抽象方法,只有声明,不需要实现 包含抽象方法的类是抽象类 抽象类中可以包含普通的方法,也可以没有抽象的方法查看全部
-
抽象类应用场景: a、在某些情况下,某个父类只是知道其子类应该包含怎样的方法,但无法准确知道这些子类如何实现这些方法。 b、从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,从而避免了子类设计的随意性。 作用:限制规定子类必须实现某些方法,但不关注实现细节。查看全部
-
要求1查看全部
举报
0/150
提交
取消