部分关键字

本文详细解析了Java中final关键字的用途,包括修饰类、变量、方法和属性的特点及注意事项。同时介绍了super关键字的作用,例如如何在子类中引用父类的属性和方法,以及在构造函数中正确调用父类构造器的规则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

final 

     修饰类,则类不允许被继承

     修饰变量,则变量为常量,不允许被再次赋值

     修饰方法,则方法不允许被重写

     修饰属性,则类的属性不会进行隐式的初始化,也就是类的初始化属性必须有值,或者要在构造方法中赋值,但只能选其一。


super

     在子类使用,可代表父类对象,如在子类Student中有方法:

public void method(){

     System.out.println( super.age);

}

 main函数中的  

       Student stu = new Student();

       stu.method(); 

    输出的会是父类中的属性,若要的子类属性值,则method()方法中super.age  应为 age. 

           如在子类Student中有方法:

public void mehtod(){

     super.study();

}

main函数调用的将是父类中的study(); 将super.study(); 改为 study();将直接调用子类中的study();

创建子类对象时,隐式调用了super。

      创建子类对像时,先创建父类对象;创建对象时,先初始化属性,再调用构造函数。

子类的构造过程中一定要调用父类构造方法;

子类构造方法中若没有显示调用父类构造方法,则系统会默认调用父类隐式无参构造方法;

子类中显示调用父类的构造方法用    super();    并且要放在子类构造函数体中第一行;

若是子类构造函数没用显示调用父类构造方法,父类中也没有无参构造函数,则报错。



object  是所有类的父类

       若我们在main 函数中输出类名

 System.out.println(子类名);

会发现输出了的是地址(哈希码)--唯一区分对象的.

这是因为在Object类中toString()方法返回的是哈希码。可通过重写toString()来输出对象属性。------可通过eclipse菜单栏中source下generate toString()  生成。它会根据对象的属性帮我们生成输出对象属性的方法。

        若我们比较两类名是否相同

  类的对象1.equals(类的对象2)----将比较地址,显然不等,若要比较其属性是否相等,则需重写:菜单栏source下generate equals()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值