多态:同一个引用类型,使用不同的实例而执行 不同操作 。
指两个或多个属于不同类的对象,对同一个消息 (方法调用)作出不同响应的能力
同一个类在不同场合下表现出不同的行为特征
程序中的多态
父类引用, 子类对象
1、封装:隐藏内部实现,稳定外部接口
- 封装指的是属性私有化,根据需要提供setter和getter方法来访问属性。即隐藏具体属性和实现细节,仅对外开放接口,控制程序 中属性的访问级别。
封装目的:增强安全性和简化编程,使用者不必在意具体实现细节,而只是通过外部接口即可访问类的成员。
2、继承:子类继承父类成员,实现代码复用
- 继承是指将多个相同的属性和方法提取出来,新建一个父类。
Java中一个类只能继承一个父类,且只能继承访问权限非private的属性和方法。 子类可以重写父类中的方法,命名与父类中同名的属性。
继承目的:代码复用。
3、多态:不同子类对同一个消息作出不同的反映
- 多态可以分为两种:设计时多态和运行时多态。
设计时多态:即重载,是指Java允许方法名相同而参数不同(返回值可以相同也可以不相同)。
运行时多态:即重写,是指Java运行根据调用该方法的类型决定调用哪个方法。
多态目的:增加代码的灵活度。
4、抽象:
- 就是对同一个事的共有的属性(特征)和方法(功能/行为)进行抽取、归纳、总结。如:汽车都有轮子、发动机等这些就是汽车的属性,汽车能跑、能载人载物等这些就是汽车的功能。这样就可以把汽车的这些功能与属性抽取出来写在一个类中,供汽车这一类事物使用。
一、封装
-
隐藏类内部细节(属性),再提供共有访问细节的方法,在方法内可添加控制语句 封装所表示的含义就是隐藏内部细节,提供公开的接口给其他人使用,其他人再使用时 无需关注内容,只需调用即可。
-
对类中属性的封装
1、将属性私有化 添加 private 修饰符
2、添加 get/set 方法,提供对属性的修改、获取。(get/set方法快捷键shift+alt+s)
3、在方法内添加控制语句实现对数据的验证
public class Demo1 {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}<