java基础笔记(二)

1.this和super

作用

this: 区分本类的成员变量和局部变量同名情况
super:区分父类的成员变量和局部变量同名情况

用法

this.成员变量名;//访问本类的成员变量
this.成员方法名();//调用本类成员方法(this可以省略)

super.成员变量名;//访问父类的成员变量
super.成员方法名();//调用父类的成员方法(super不可以省略)

this和super的高级使用

this(参数); 用来调用本类的其他构造 其他构造是指哪一个构造? 由this()中的参数决定
需求: 无论调用者通过何种方式 创建对象 要求这个对象的名字必须是"旺财" 年龄必须是18

super(); 用来调用父类的其他构造 无论调用子类的哪一个构造,都会先执行父类的无参构造
java这么设计类,是有原因:单一职责原则,
一个类不能太累,一个类只负责给本类的成员变量赋值

super();//调用父类的无参构造(默认的)
super(参数);//调用父类的有参构造
具体调用哪一个有参构造,有参数的类型决定 父类中方法,太low,不适用,不完善,那么子类需要自己重写他,自己实现他

2.扩展

this(参数);//调用本类的其他构造,具体是哪一个构造,由参数类型决定
super(参数): //调用父类的构造,具体哪一个构造,由参数类型决定

结论

a.子类中任何一个构造,都会无条件先调用父类的无参构造
b.我们可以通过 super(参数),调用父类中指定参数的构造

3.方法的重载与重写

1.方法的重载(overload)

在同一个类,方法名相同,但是参数列表不同,这时候这几个方法被称为方法的重载 参数列表不同:
参数个数不同,参数类型不同,参数顺序不同

2.方法的重写(override)

在继承中,子类出现了和父类一模一样的方法,那么子类中这个方法被称为方法的重写

注意事项
1: 子类和父类中重写的那个方法权限可以不一样,子类方法权限>=父类方法权限
2.如果父类的方法是private修饰,子类不能重写

4.抽象类

什么叫抽象类: 只要一个类 是abstract修饰的那么这个类就是抽象类
和 这个类中有没有抽象方法,没有必然的联系

什么叫抽象方法:
方法由abstract修饰,并且没有方法体的方法

不能创建对象,天生作为父类 抽象类中的抽象方法有什么作用?
1.抽象类中的抽象方法不是为了调用的
2.为了强制子类去重写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值