【Java语言-自动类型转换。】教程文章相关的互联网学习教程文章

阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第1节 Object类_3_重写Object类的equals方法【图】

现在要重写Object的equlas方法。比较两个对象的属性值。但是存在的问题是多态解决方法就是向下转型 、name和age相同,比较结果是true存在的问题,如果参数我传一个ArrayList。它也是Object的子类。那么参数强转为Person的类的话 就会报错。ArrayList强转为Person就会报错。增加判断,用instanceof判断类型这样如果传入的ArrayList那么就直接返回false ,并不会抛出异常。传递空值过去。null是引用类型的默认值增加if判断,如果是nu...

阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第1节 Object类_1_Object类的toString方法【图】

任何一个类都可以使用Object类中的方法## 1.1 概述`java.lang.Object`类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。如果一个类没有特别指定父类, 那么默认则继承自Object类。例如:新建Person只有两个属性。添加上get和set的方法,有参构造,无参构造。定义Person的对象,然后输出调用ToStirng的方法打印出来是对象的堆内存中的地址值直接打印p和p....

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第7节 内部类_12_局部内部类的final问题【图】

单独看个很小但是很重要的注意事项新建一个外部类新建局部内部类。这里num因为没有重名的可以直接访问没写final也叫做有效final ,因为它的值没有变!不过在前面加上final更保险写上final后,如果再赋值就会报错。没写final。但是二次赋值了,也会报错这里面有个内存中声明周期的问题。 方法进栈。调用后就会出栈。所以num值的就没了。但是内部类还在调用num,这个时候的num是内部类赋值过来的 具体详细的没听,后续有兴趣,可以再...

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第4节 多态_21_对象的向下转型【图】

向上转型的弊端 这里在子类里面定义自己的方法catchMouse这里再去调用子类独有的方法 就无法调用到。猫可以抓老鼠,但并不是所有的子类都有抓老鼠的方法向下转型还原本来就是猫才能还原成为猫代码演示需要强制转换一下强制转换后,就可以调用子类的方法了。创建一个dog的类 也继承,Animal类。里面重写eat的方法发生异常类转换异常

列举java语言中反射的常用方法【代码】

package review;/*12:43 2019/7/21*/import model.AnotherClass; import model.OneClassMore; import model.SomeClass;import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;/*** 这个类列举了java语言中关于反射机制的常用的一些方法* @author zhangxingshuo*/ public class AboutReflection {public static void main(...

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第4节 多态_18_多态中成员方法的使用特点【图】

多态中成员方法的规则 也没有变化父类定义mehtod方法子类里面覆盖重写父类定义自己的特有的方法子类也定义自己特有的方法psvm生成main方法测试编译看左边,运行看右边编译是,java代码编译成字节码编译看左边。左边是父类。父类没有这个mehtodZi的方法。所以这里会报错

java语言基础之四:BigDecimal大数值,Optional类型,运算符【代码】

一:大数值:BigDecimal BigIntegerBigDecimal/BigInteger.valueOf(x)把对应的普通数值转为大数值比较compareTo()相等—0,大于—正数,小于—负数 加–add 减–subtract *—multiply /----divide %----mod .abs()取绝对值 二.Optional类型 1.将一个可能为null 的对象包装成Optional对象 Optional o=Optional.ofNullable(T value) 如果value为空,则返回一个空的Optional 2.直接创建一个类型为T的空Optional: Optional o...

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第2节 抽象类_18-发红包案例_分析【图】

分为群主类和普通成员类。但是都有共同性,就是姓名和和余额,这样的共性就新建一个用户类群主自己有的功能是发红包。成员是接受红包发红包就是把要把钱分成若干份。所以返回类型就是一个数组的integer类型的:ArratList<Integer>这就是发红包的逻辑收红包逻辑返回值类型,只需要把自己的余额加上去就可以了,所以返回值是void类型的参数列表是ArrayList是因为从红包的列表 那一份出来所以参数是ArrayList的类型的最终

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第2节 抽象类_15-抽象方法和抽象类的格【图】

将eat定义为抽象方法抽象类 这就是一个正确的抽象类,内部还有一个抽象方法还可以定义普通的成员方法,普通的成员方法改怎么定义还是怎么定义抽象方法没有方法体,抽象方法所在的类必须是抽象类

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第1节 继承_12-super与this关键字图解【图】

先定义一个父类。里面定义成员变量和成员方法子类继承父类,也有成员变量和成员方法,成员方法是重写了父类的。能写Override就写。这样看的就更加清楚。子类定义父类没有的方法、里面分别输出了三个num的值创建子类对象。调用show方法输出的结果子类的method里面调用父类的method方法这样子类在调用method的时候,会去把父类的执行一遍。然后再去执行子类的这既是刚才写的点的简略版内存图橙色的super_class在最后编译后的class文件...

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第1节 继承_9_继承中构造方法的访问特点【图】

42 构造方法在继承关系中是怎么回事?先创建父子类创建子,子继承父子类写上构造方法父类也写无参的构造方法现在父类和子类都有无参的构造方法测试,创建子类,看输出的先后顺序先有父 后有子,所以先输出父类的构造方法的内容子类里面赠送了super方法这里不写也照样会有,这是编译器赠送的父的构造函数如果加上参数。那么子类默认无参数的 就不赠送super了父类构造加上参数。这个时候子类就报错了鼠标放上来提示的错误。因为赠送了...

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第1节 继承_8_继承中方法的覆盖重写_应用【图】

子类去重写show方法。直接写上show,然后一回车回车后生成的代码如下:输出比原来的方法多了两条输出的这里注意你的代码还不是最优的状态。显示号码老手机已经有了。虽然子类这里只是打印了一行代码。但是如果父类是代表的100行代码。那么这里子类可能也是需要输出100行的代码 才能达到显示号码的这个功能。之所以用继承就是为了解决重复代码的问题。使用super方法这是老手机的功能新手机还是这三个功能 但是第三个方法 输出了三条...

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第1节 继承_3_继承中成员变量的访问特点【图】

创建一个父类,里面定义一个成员变量,再创建子类。子类extends这个父类创建父类对象,里面只有numFu这个成员变量父类不知道自己的子类在哪里。子类知道父类的存在 子类里面有两个成员变量,包含父类的和自己的重名父类和子类的成员变量要是重名了 会怎么样?父类定义num等于100子类也定义num,但是等于200间接的方式 父类中定义MehtodFu里面输出num这里的num是本类当中的,不会向下找子类的子类中也定义方法,输出nummethodFu是父...