封装
继承
多态
一、封装
1、程序设计的要求:高内聚、低耦合。
2、属性私有(private):get/set。
get 获得这个名字,set 给这个数据设置值。set中可以封装实现的条件。
3、快捷键:alt+inset;
4、作用:
- 提高程序的安全性,保护数据。
- 隐藏代码的实现细节。
- 统一接口。
- 增加系统的可维护性。
二、继承
1、extends ------继承
2.写法:public class A(students) extends B(person){}
A指的是子类或者叫做派生类;B指的是父类;
3、注意:
- 继承是类与类之间的关系,除了继承之外还有包含,依赖等;
- Java中类只有单继承,没有多继承。(一个儿子可以有一个爸爸,一个爸爸可以有多个儿子)
4、子类可以继承父类的所有东西。私有的东西不能继承。
5、修饰符:public(公共的)、protected(受保护的)、default(默认的)、private(私有的)。
6、属性一般是私有的,留有一些可以操作的方法。
7.私有的东西无法被继承;
8、快捷键:ctrl+h
继承中三个重点:object类、super、方法重写
9、在Java中,所有的类默认继承了object类。
10、super注意点:
- super调用父类的构造方法,必须在子类构造方法的第一行
- super只能出现在子类的方法或者构造方法中;
- super和this不能同时调用构造方法!(因为this在调用自己类的构造方法时也需要放在第一行)
11、super与this的比较:
- 代表的对象不同:
this:代表本身调用者这个对象
super:代表父类对象的引用
- 前提:
this:没有继承也可以用
super:只能在继承条件下才可以使用
- 构造方法:
this():本类的构造。
super():父类的构造。
12、方法重写---针对非私有和非静态方法
- 重写指的是方法的重写,与属性无关。
- 父类的引用可以指向子类。
- 实例化对象:A a=new A();
- @override 注解。有功能的注释。
总结:
重写:需要有继承关系。子类重写父类的方法
(1)方法名相同,方法体不同
(2)参数列表必须相同
(3)修饰符:范围可以扩大,不能缩小。public>protected>default>private
(4)抛出的异常:范围只能缩小,不能扩大。例如:classNotFoundException--->exception
为什么需要方法的重写:
(1) 父类的功能不能马上满足子类。
方法重写与方法重载的区别:
方法重写:方法名相同,参数相同,方法体不同
方法重载:方法名相同,参数不同
三、多态
1、作用:实现动态编译,增加可扩展性。
2、一个对象的实际类型是确定的,但是可以指向的引用类型是不确定的。
lei a=new lei(); //能调用自己的和父类的方法
fuiLei a=new lei();//父类的引用指向子类。不能调用子类独有的方法。
object a=new lei();//两者之间必须要有继承关系。
3、对象能执行那些方法主要看左边的类型。
4、多态的注意条件:
多态是方法的多态,不是属性的多态。
父类与子类存在联系,(类型转换异常;classCastException)
存在的条件:有继承关系;方法需要重写,父类的引用指向子类的对象。father s1=new son();
不存在多态的情况:static//方法,属于类,不属于实例
final //常量
private