面向对象三大特征
封装:
使用访问控制符可以将对象中不允许外部程序直接访问的重要属性,隐藏在对象内部。这一过程在Java中叫封装
作用:
1.隐藏类的实现细节。
2.让使用者都只能通过事先预定的方法来访问数据,从而可以在该方法里加入控制逻辑,限制对属性的不合理访问
3.可进行数据检查,从而有利于保证对象信息的完整性。
4.便于修改,提高代码的可维护性。
封装的用法:
在People类中将要封装的属性使用private修饰,再给封装的属性添加setXxx(),getXxx()方法。这样其他的类就无法直接访问People类的属性,要访问只能通过setXxx()和getXxx()方法。
继承:
父类:被继承的类叫父类
子类:继承父类的类叫子类
(父类,子类是相对的。)
在继承中子类将获得父类的属性和方法,同时子类也可以定义自己的属性和方法。继承可以提高代码的重用性。
语法:
class 子类 extends 父类{
代码块;
}
在开发中如果 Students继承Person 我们可以说 Students是个Person,Students is a Person,Students和Person是 is-a的关系
在java中,不可以多继承,但是可以多重继承,例如有A,B,C三个类,C不可以同时继承A和B,但是C可以继承B,然后B继承A,这就叫做多重继承。
多态:
Java中引用类型变量有两个类型:一个是编译时类型,一个是运行时类型。编译时类型由声明该变量使用的类型决定,运行时类型由实际赋给该变量的对象决定。那么如果运行时类型和编译时类型不一致,这就是多态。
Java中多态可以分为两类:
1.方法的重载、重写
重载:静态多态(编译时多态)
重写:动态多态(运行时多态)
2.对象的多态。
向上转型: 子类对象----》父类对象
格式: 父类 父类对象 = 子类对象
向下转型: 父类对象----》子类对象(向下转型前,一定要先完成一次向上转型)
格式: 子类 子类对象 = (子类)父类对象
1.方法的重载、重写
重载:方法重载值得是在同一个类中,多个方法名相同,参数列表不同(个数、类型、顺序),这就是重载。
重写:(覆写,覆盖) 方法重写值得是在继承中,如果父类中某个方法不能满足子类的需求,子类可以重写父类的这个方法,这就是方法重写。
2.对象的多态
向上转型: 子类对象----》父类对象类似于基本数据类型的自动类型转换:
int a = 10;
double b = a;//自动类型转换
向下转型: 父类对象----》子类对象(向下转型前,一定要先完成一次向上转型)类似于基本数据类型的强制类型转换:
double a = 10.5;
int b = (int)a;