封装
封装的概念封装的作用封装的步骤 继承
什么是继承?继承的关键字怎么使用继承继承的特点什么时候使用继承?方法重写方法重写和方法重载的区别重写的意义 this和super
super
super的使用super的特点 this和super的区别
封装 封装的概念封装的概念:将属性私有化的过程就是封装。Java中的封装一般是指对属性进行封装。
那么到底什么是封装呢?
举个栗子(●’◡’●)。遥控器不知道大家拆过没有。没有也没关系。我拆过,遥控器里面也没啥特别的,就是一个主板而已,主板上面有一些按钮,通过按钮我们可以使用遥控器的功能。而封装就类似遥控器的构造。主板我们可以看作的java中的属性,主板上的按钮我们可以看成是java中的方法,外壳就是私有化。主板+按钮+外壳就组成了遥控器。封装就类似这个结构。封装属性就是私有化属性,遥控器外壳把主板包住了,我们这时候就看不见主板了,这个时候我们只可以通过外壳上的按键使用主板的功能。封装也是如此。私有化属性后,我们无法直接调用属性,只能通过提供的方法去调用/赋值属性。
封装的作用:防止恶意访问/修改。
封装的步骤- 私有化属性:即访问修饰符用 private
private 属性类型 属性名;
2.提供接口,即set、get方法 。具体看业务需求。
以下代码为示例,不是一定要这么写。具体看业务需求。
//set方法
public void setXxx(形式参数列表){}
//get方法
public 数据类型 getXxx(){
java代码;
return 数据;
}
继承
什么是继承?
继承:在两个或两个以上的类中,有一个类中的属性和方法是其它类都有的,那么这个类就可以作为父类。其它类就是它的子类。我们就可以称这些子类继承了这个父类。继承了父类中的属性和方法。
被继承的类我们称为父类/超类/基类。
继承父类的类我们称为子类/扩展类。
继承的关键字:extends
怎么使用继承使用继承的语法:
class 子类类名 extends 父类类名{
}
继承的特点
继承的特点:
- 私有属性/方法无法继承被final关键字修饰的不能被继承java中不支持多继承,但可以间接继承
C继承A和B类。
class A{}
class B extends A{}
class C extends B{}
什么时候使用继承?
我们可以通过 is a 来判断是否使用继承。比如:猫是动物(Cat is an Animal)那么,动物就是父类,猫就是子类。你是你爸的儿子。你就是子类,你爸就是父类。你爸的就是你的。简单吧。
继承的作用/优点:减少代码冗余。
继承的缺点:耦合度过高。
构成方法重写的条件:
- 返回值类型相同方法名相同形式参数列表相同访问修饰符权限可以更高但不能更低
区别:
- 重载是在同一个类中,重写是在不同类中。重写的方法形参和父类的相同,重载的方法形参不同。重写的方法访问修饰符可以更高不能更低,重载方法对访问修饰符没有要求。重写的关键字为override,重载的关键字为overload。
方法重写是为了满足业务功能。当父类方法无法满足子类的业务时,方法重写就可以帮助子类实现自己的业务功能。
this和super supersuper是一个关键字。代表的是来自父类中的一部分特征。
super的使用//调用父类中的属性
super.属性;
//调用父类中的方法
super.方法名();
//调用父类中的构造方法
public 当前类名(){
super();//实际上当构造方法中没有写super()或者this()的时候,
//系统默认第一行有一个super();即默认调用父类无参构造
}
super的特点
super的特点:
- 只能用在实例方法和构造方法中。用在构造方法中时只能用在第一行。所以不能和this()连用。super不是变量super不能单独输出
区别:
- this是实例变量,变量中存储的是当前对象的内存地址。而super不是变量。this可以单独输出,super不能单独输出。this()在构造方法中表示调用当前类中的无参构造,super()表示调用的是父类中的无参构造。



