【无标题】

super

1,基本

super能出现在实例方法和构造方法中。

super不能使用在静态方法中。

super. 大部分情况下是可以省略的。

super. 什么时候不能省略?

super() 智能出现在构造方法的第一行,通过当前的构造方法区调用“父类”中的构造方法,其意义是创建子类对象的时候,初始化父类特征。

2,super()

表示通过子类的构造方法调用父类的构造方法

3,结论

当一个构造方法第一行既没有this()又没有super()的话,默认会有个super();,表示通过当前子类的构造方法调用父类的无参数构造方法,所以必须保证父类的无参数构造方法是存在的。

super()和this()不能共存。

父类的构造方法是一定会执行的。

java语言中不管new什么对象,最后Object类的无参数构造方法一定会执行。其在栈顶,最后调用但最先结束。

super(实参)的作用:初始化当前对象的父类型特征。并不是创建新的对象。

super不是引用,也不保存内存地址,super也不指向任何对象。super只是代表当前对象内部的那一块父类型特征。

4,super什么时候省略?

当父类和子类中都有的属性,如果想在子类中访问父类的属性,则需要加super 。用类区分子类和父类的同名属性。

final

1,final修饰的局部变量,只能被赋值一次。

2,final修饰的实例变量,只能被赋值一次。这里要求程序员必须手动赋值。赶在系统赋值之前。

clsss User{

final int age;

public User(){

this.age = 20;

}

}

此时复制成功,因为构造方法先于final int age执行。

final修饰表示不能改变,此时修饰某实例变量,表示此实例变量不能改变,那么就写为静态的,放在方法区中。static final int age;----这就是常量,和静态变量都存储在方法区中。

3,final修饰的方法无法被覆盖、重写。

4,final修饰的类无法被继承。

5,final修饰的变量是引用时,该引用只能永远指向对象。不能重新指向其他对象,但该引用指向的对象内部的数据是可以修改的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值