java
文章平均质量分 68
薰衣草2333
好好编程,天天向上(大梦想)
展开
-
异常的详解
处在方法声明参数列表之后,当方法抛出编译时异常时,用户不想处理该异常,此时就可以借助throws关键字给方法的调用者来处理,即当前方法不处理异常,提醒方法的调用者处理异常。3、方法内部如果抛出了多个异常,throws之后必须跟多个异常类型,之间用逗号隔开,如果抛出多个异常类型具有父子关系 ,直接声明父类即可。异常的捕获,也就是异常的具体处理方式,主要有两种:异常声明throws以及try-catch捕获处理。3、try可能会抛出多个不同的异常对象,则必须用多个catch来捕获,即多种异常,多次捕获。原创 2022-09-27 19:02:44 · 445 阅读 · 0 评论 -
String类的详解
注意:replaceAll方法并不是在s的基础上替换的,而是将替换的结果作为一个新的字符串返回了,替换之后始终不变,因为String类在设计的时候,就严格限定了String类的对象是不可改变的,即字符串是不可变对象。2、将自定义类型的对象转换为String类型的字符串,类中需要重写Object类中的toString的方法,如果没有重写,将来转换完之后的结果:类全路径名+@+hashCode的十六进制的结果。注意:对于内置对象,==比较的是变量中的值,对于引用类型,==比较的是引用中的地址。原创 2022-09-25 21:20:47 · 1510 阅读 · 1 评论 -
内置类型、引用类型的比较
4、说明obj一定是当前类的对象,将obj转化为当前类的对象,然后将对象中的成员进行逐个比较。3、两个不同的对象进行比较,此时需要检测obj是否为当前类的一个对象,如果不是,肯定不相等。引用类型变量使用==进行比较,并不是比较引用对象中的内容,而是比较引用对象的地址。2、需要检测是否为自己和自己比较,自己和自己比较肯定是相等的,直接返回true。== 左右两侧如果是内置类型的变量,直接用变量中的数值直接比较。1、先检测obj是否为空,如果为空,肯定不相等,直接返回false。1、内置类型用==比较。原创 2022-09-25 16:05:23 · 134 阅读 · 1 评论 -
接口的详解
接口中不能有实例代码块和构造方法:实例代码块中的内容经过编译后,按照其在类中声明的次序,需要依次加载到构造方法的前面,而构造方法的作用是初始化对象,给对象的普通的成员变量一个合适的初始值,因此构造方法肯定有自己的实现体,即构造方法不能是抽象方法,因为矛盾。接口的定义格式与定义类的格式基本相同,将class关键字换成interface关键字,就定义了一个接口。接口不能直接使用,必须要有一个“实现类”来“实现”该接口,实现接口中所有的抽象方法。1、创建接口时,接口的命名一般以大写字母I开头。原创 2022-09-09 23:32:53 · 876 阅读 · 0 评论 -
抽象类详解
使用抽象类的场景就如上面的代码,实际工作不应该由父类完成,而应该由子类完成,那么此时如果不小心误用成父类了,使用普通类编译器是不会报错的,但是父类是抽象类就会在实例化的时候提示错误,让我们尽早发现问题。在Java中,如果一个类被abstract修饰则称为抽象类,抽象类中被abstract修饰的方法称为抽象方法。抽象类本身不能被实例化,要想使用,只能创建该抽象类的子类,然后让子类重写抽象类中的抽象方法。5、抽象类中不一定有抽象方法,但是有抽象方法的类一定是抽象类。注:包含抽象方法的类就是抽象类,原创 2022-09-07 10:42:43 · 6827 阅读 · 0 评论 -
多态的详解
在代码编译时,编译器无法知道基类的引用到底引用哪个类的对象,因此编译时无法确定要调用哪个类的方法,只有等到程序运行起来之后,才知道应该调用哪个类的方法。① 构造方法不能被重写:构造方法特殊,构造方法作用在调用对象时,由编译器调用,将对象中的成员初始化完整,只有对象真正创建好之后,才可以用其调用其他的方法实现多态,而对象真正创建好之后,构造方法已经调用完了 ,不可能再在构造方法上实现多态。例外:协变:被重写的方法返回值类型可以不同,返回值有要求:基类方法返回基类的引用,子类方法返回子类的引用。原创 2022-09-06 16:41:15 · 432 阅读 · 0 评论 -
类中静态代码块、实例代码块、构造方法执行次序
在类加载的时候,静态代码中的语句会执行,在整个类加载的过程中只执行一次,和创建多少个对象没有关系。但是:不能通过打印结果说明 先调用基类的构造方法,后调用子类的构造方法(说法错误。3、基类构造方法中的内容先打印,然后子类构造方法中的内容后打印。1、父类静态代码块优先于子类静态代码块执行,而且是最早执行。1、new哪个类的对象,编译器就会调用该类的构造方法。2、new子类对象:编译器会调用子类的构造方法。3、子类的实例代码块和子类的构造方法紧接着再执行。,基类的静态代码块先执行,子类的代码块后执行,...原创 2022-08-30 10:53:04 · 1425 阅读 · 0 评论 -
super和this的区别
super是代码层面的一个关键字,在代码中可以通过super访问子类对象中从基类继承下来的成员,但是代码经过javac编译之后,super就不存在了。1、this是当前对象的引用,当前对象即调用实例方法的对象,super相当于是子类对象中从父类继承下来部分成员的引用。super和this都可以在成员方法中用来访问:成员变量和调用其他的成员函数,都可以作为构造方法的第一条语句,那它们有什么区别呢?2、在非静态成员方法中,this用来访问本来的方法和属性,super用来访问父类继承下来的方法和属性。...原创 2022-08-30 10:28:36 · 1191 阅读 · 0 评论 -
Java中继承机制详解
因为子类对象中的成员是有两部分组成的,基类继承下来的以及子类新增加的部分,所以在构造子类对象的时候,先要调用基类的构造方法,将从基类继承下来的成员构造完整,然后再调用子类自己的构造方法,将子类自己新增加的成员初始化完整。注意:子类和基类可以存在相同名称的成员变量,并且类型和名字都可以完全相同,此时,在子类的方法中优先访问到的是子类的同名成员,从基类中继承下来的同名成员,不能在子类中被直接访问,称为。·如果访问的成员变量子类中无,则访问父类继承下来的,如果父类也没有定义,则编译报错。.........原创 2022-08-29 23:24:11 · 1915 阅读 · 0 评论