java学习笔记(1)封装与继承

1.什么是封装?
即 将属性定义私有化,
属性可称之为变量,修饰词采用private,权限开成最小,
通过private封装变量,这时外界就访问不到,这时可通过开启get/set方法来使外界访问读或改,在set内部可设置条件。
2.封装的好处?
隐藏类的实现细节。
用户只能通过实现提供的共有的方法来访问属性,从而在该方法中加入控制逻辑。以限制对属性不合理的访问。
可以进行对数据检查,有利于对象信息的完整性。
便于后期的代码修改,有利于提高代码的安全性和可维护性。
3.javaBean规范
在每一个java类里的每个属性都使用private来修饰,并为每个属性都提供了public修饰Getter/Setter方法。
4.什么是构造方法?
构造方法他的主要作用就是在使用new关键字创建对象时完成对属性的初始化操作,
通常他都是由修饰词public+类名组成的。
构造方法的三个特征
1.没有返回值类型。2.方法名和类名相同。3.无需显式调用。
5.构造方法中无参和有参的区分?
无参构造方法:修饰词public+类名();
有参构造方法:修饰词public+类名(参数即属性);
定义有参构造方法时,里面的参数就是我们封装的属性,这些属性可让外界通过有参构造方法来进行访问定义。
注:如果在一个类里我们没有创造构造方法,这时这个类会默认为我们创造一个无参的构造方法。
6.方法重载
方法名可以相同,但是里面的参数不可一样,在使用方法重载时,只需要通过方法里的参数来区分我们所需要的方法即可。(其实之前的无参构造方法和有参构造方法就是一个很好的方法重载例子)
好处:方法重载的好处是什么呢?他可以完成多种初始化行为,因为有些时候在创建对象的时候,如果仅仅知道姓名属性的值可以调用带有姓名的方法;如果知道两个属性的值那就可以调用有两个属性的方法。方法重载提供了创建对象的灵活性;
7.方法重写
extends来代表继承,当我们封装好了一个类以后,我们可以通过继承这个类来获取里面的内容,这时这个类就成为了父类,子类就是我们要用来继承的,这时子类可以继承父类中的全部公有方法,但是这个方法如果不能满足我们子类的需求那我们子类即可重写这个方法即可。当重写完这个方法时候,这个子类就已经将之前父类写的方法覆盖了,这就称之为方法重写。
注意:覆盖了以后,不是说父类里的那个值会随着子类而修改,而是此时子类继承父类里的那个方法里的值被子类重写的覆盖了,也就是说子类的那个方法值是一个新值,在外界要想要这个方法的老值需去找父类,要是想要新值就找子类。
方法重写必须满足的条件:
1.子类的方法必须和父类中被重写的方法签名(名称、参数)相同。
2.子类方法的返回类型必须和父类中被重写的方法的返回类型相同或是其子类。
3.子类方法的访问修饰符权限必须大于等于父类中被重写的方法的访问修饰权限(public>=default>=protected>=private)
8.继承
在子类后面加上extends+要继承的类(即父类)
继承特征:
在这里插入图片描述
9.继承时子类可以继承父类的那些“财产”?
子类可以继承父类中使用public和protected修饰的属性和方法,不论子类和父类是否在同一包中。
子类可以继承父类中使用默认修饰符修饰的属性和方法,但子类和父类必须在同一个包中。
子类无法继承父类中使用private修饰的属性和方法。子类无法继承父类的构造方法。但子类构造方法可通过super来调用
10.继承的好处
关键字 extends
假如说定义了两个类,这两个类的分别都有两个属性一个方法,而且属性名和方法名都设成一样的了,这时,就造成了代码重复性,这是两个类还比较好说点,如果说是100个类 1000个类,那代码量就更多了,这时我们就可以通过继承来实现避免重复性代码,只需要定义一个类来将这些重复性代码都提取出来,然后在其他类里继承这个定义好方法属性的类即可。这时就避免了重复性代码,
11.龟腚
调用子类的构造方法创建子类的对象时,会首先调用父类的构造方法
12super
通常我们在定义无参构造方法或者有参构造方法的时候 在构造方法内部都会出现一个super()的关键字。他是用来指明父类的构造方法的,在有参方法内部super可传参来指明父类的构造方法,如果未用super,也就是说在构造方法内没有使用super时,他会自动使用父类无参版本的构造方法,如果父类没有无参的构造方法这时就会编译错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值