封装
定义:将类的某些信息隐藏在类内部(用到访问权限修饰符来实现),不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
封装的好处:隐藏类的实现细节
方便加入控制语句
方便修改实现
只能通过规定方法访问
具体表现------–使用不同的访问权限
private String name;
public String getName (){
return name;
}
public void setName(String name){
this.name(成员变量中的name) = name(局部变量);
}
}
设计模式:解决某一类问题的解决方案(模式)
单例模式--->让一个类在一个程序,只能创建一个对象
将构造方法设置为私有权限,在其他类中不能随便使用
继承
定义:继承是面向对象程序设计不可缺少的设计思想,是实现代码可重
用的根基,是提高代码可扩展性的主要途径。
继承是从已有的类中派生出新的类,新的类能吸收已有类的属性和行为,
并能扩展新的能力。
在JAVA中使用extends关键字来表示继承关系
JAVA不支持多继承,单继承使JAVA的继承关系很简单,一个类只能有一个
直接父类
继承之后子类可以调用父类的所有非私有属性和非私有方法
继承是代码重用的一种方式
继承的形式:
[访问权限修饰符] [修饰符] 子类名 extends 父类名{子类体}
名词:·Dog类是 Animal类的子类, Animal类是Dog类的父类
·Dog类是 Animal类的派生类, Animal类是Dog类的基类
继承的传递性
C类从B类继承,B类又从A类继承
那么C类就具有B类和A类的所有非私有属性和非私有方法
当一个类没有继承任何一个类时,jvm会默认让类继承Object类
Object是 java为所有类提供的基类
继承中的构造方法
继承中的构造方法 :
子类构造方法会先调用父类构造方法
使用super关键字调用父类任意一个构造方法,必须写在构造方法的第一行
如果子类的构造方法中没有显式地调用基类构造方法,则系统默认调用基类无
参数的构造方法
super关键字用途
• 使用super关键字访问父类成员
• 用super.成员变量名来引用父类成员变量
• 用super.方法名(参数列表)访问父类的方法。
• 用super.构造方法(参数列表)访问父类构造方法
误区: 不要把super误认为是父类对象.在创建子类对象时, 不会创建父类对象. 只会将父类中的信息加载到子类对象中存储.
方法的重写
在子类中对父类的方法进行重写(覆盖)
应用场景
当父类的方法实现不能满足子类需求时,可以对方法进行重写( override)
重载(overload)
● 在子类中可以根据需要对从基类中继承来的方法进行重写。
方法重写规则
• 方法名相同、参数列表相同;
• 返回值类型相同;
• 访问权限不能小于父类权限;
注意:构造方法,静态方法不能重写,成员变量不存在重写