当前位置: 首页 > 科技观察

Java基础入门之对象类、匿名内部类、构造函数方法的继承解析

时间:2023-03-15 22:08:26 科技观察

前言大家好,我是Java进阶。在这篇文章中,我们主要介绍Java基础中Object类、匿名内部类、构造方法的继承知识。一起学习吧!一、Object类1、Object类是所有类的父类,所有类都继承Object类。2、对象类方法包括:toString()方法:这个方法用的比较多,返回对象的字符串,一般子类会重写;getClass()方法:返回Object操作的类型;equals()方法:判断对象内容是否相等;finalize()方法:该方法主要用于释放资源。这个方法很少用到,也无法确定什么时候调用。hashCode()方法:返回此对象的哈希值;notify()方法:该方法唤醒一个等待该对象的线程;notifyAll()方法:该方法唤醒所有等待该对象的线程;wait()方法:当前线程等待这个对象的锁,也就是拥有这个对象的锁。wait()方法表示等待,直到获得锁或中断。wait(longtimeout)设置一个超时时间间隔,如果在指定时间内没有获取到锁则返回。clone()方法:保护方法并实现对象的浅拷贝。该方法只能在实现Cloneable接口时调用,否则会抛出异常。3.Object类实例例如://定义水果类classFruit{doubleweight=10;//定义weight属性为weight//定义info()方法voidinfo(){System.out.println("Iamafruit,weightFor:"+weight+"g!");}}publicclassp32{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubFruitf=newFruit();//创建Fruit类对象System.out.println(f.toString());//调用toString方法}}运行结果为:从上面的代码可以看出,在输出语句中调用了Fruit对象的toString()方法。Fruit类继承了Object类,在Object中定义了toString()方法来输出这个对象的信息。4.重写Object类toString()方法示例//定义水果类classFruit{doubleweight=10;//定义weight属性为weight//重写Object类的toString()方法publicStringtoString(){return"我是一个水果,重量是:"+weight+"g!";}}publicclassp32{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubFruitf=newFruit();//创建水果类对象System.out.println(f.toString());//调用toString方法}}运行结果为:从上面的代码,在定义的水果类中重写Object类的toString()方法。Fruit类继承Object类,输出对象的信息。二、匿名内部类1、什么是匿名内部类匿名内部类就是根本不知道这个类的名字。创建一个只需要调用一次的匿名内部类。2.匿名内部类新类名(参数)|的语法parentinterface(){//classbodypartofanonymousinnerclass}3.如何实现匿名内部类示例//定义水果类接口interfaceFruit{doubleweight=30;//定义weight属性为weightvoidinfo();//定义抽象方法}publicclassp33{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub//定义匿名内部类作为fruitInfo()方法的参数fruitInfo(newFruit(){//实现info()methodpublicvoidinfo(){System.out.println("我是一个水果,重量为"+weight+"g!");}});}//定义静态方法fruitInfo()publicstaticvoidfruitInfo(Fruitf){f.info();//调用对象f的info()方法}}运行结果为:从上面的代码来看,首先定义了水果类接口,weight属性和info()抽象方法为定义。在调用fruitInfo方法时,将方法的参数写在newFruit(){}中,相当于实例化对象,将对象传递给fruitInfo方法。大括号内是匿名子类。三、构造方法的继承1、构造方法继承的特点:①子类可以无条件地继承父类的无参构造方法;②如果子类本身没有构造方法,则继承父类的无参构造方法成为自己的构造方法;如果子类定义了自己的构造方法,那么在创建新对象时,会先执行从父类继承的无参数构造方法,然后再执行自己的构造方法。③对于父类的带参数的构造方法,子类在自己的构造方法中使用“super”关键字对其进行调用,该调用语句需要是子类构造方法的第一条可执行语句。2.构造方法继承示例://父类定义classFather{publicFather(){System.out.println("父类...");}publicFather(Stringname){System.out.println("父类nameFor:"+name);}}//定义子类继承父类classSonextendsFather{publicSon(){super("Tom");System.out.println("Subclass...");}}publicclassp39{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSonson=newSon();//创建Son的实例对象}}运行结果为:4.总结本文主要介绍Object类的继承,匿名内部类和构造方法。Object类是所有类的父类,所有类都继承了Object类。介绍Object类的一些方法,通过Object类的例子和重写Object类的toString()方法的例子帮助理解用法。匿名内部类根本不知道类的名称。创建一个只需要调用一次的匿名内部类。构造方法的继承介绍了它的特点,用他的例子来理解构造方法的继承。本文转载自微信公众号《Java进阶学习交流》,可通过以下二维码关注。转载本文请联系Java进阶学习交流公众号。