主要知识点:面向对象的三大基本特征
1,封装:定义,实现步骤,作用
2,继承:特征,好处
3,多态:概念,多态条件以及多台成员的特点
4,this关键字,final,super以及注中的名词定义
(抽象类,子父类创建对象,接口,)
1,封装
是面向对象的一个重要特征,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。(代码的复用,屏蔽底层细节)
实现封装的步骤:
(1)修改属性的可见性来限制对属性的访问。
(2)为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问。
(3)在赋值和取值方法中,加入对属性的存取限制。
为什么要封装、封装有什么作用?
通过封装,可以实现对属性的数据访问限制,同时增加了程序的可维护性 ;
2,继承
继承具有以下特征:
(1) 继承的关系是传递的
(2)继承简化了人们对客观事物的认识和描述,能清晰体现相关类之间的层次结构关系。
(3)继承提供了软件复用的能力
(4)继承减少了模块间的接口与界面,增强软件易维护性。
(5)提供多层继承机制,(但只允许单重继承。即一个子类只能继承一个父类)
继承的好处:
1.提高了代码的复用性;
2.让类与类之间产生了关系,给第三个特征多态提供了前提;
3,多态 概念:事物存在的多种体系形态
必要条件三个:
1,继承:类与类(接口)有继承或实现关系
2,方法的重写:一定要有方法重写(覆盖、复写)
3,父类的引用指向子类的对象:一定要有父类或接口的引用指向子类的对象
重载和重写的区别:
方法的重写(方法的覆盖)
1,发生在继承关系里
2.子类中的重写方法和超类中被重写的方法必须拥有相同的返回值类型,相同的参数列表
方法的重载(overloaded)
- 发生在同一个类里面
- 重载的方法和被重载的方法必须拥有相同的方法名;可以拥有不同的返回值类型,必须拥有不同的参数列表
- 访问修饰符
按严格要求从高到低的程度
私有的:private 只能在该类中的使用
默认的:在同一包的类能互相访问
受保护的:protected 在同一包的类能互相访问,两个类是继承关系也可以使用 - 公共的:public哪都可以用的;
多态中成员的特点:例如 Fu f=new Zi();
A:成员变量:编译和运行都看Fu;
B:非静态变量:编译看Fu,运行看Zi;
C:静态方法:编译运行都看Fu;
注:
this关键字:
作用:用于区别成员变量与局部变量 同名的情况.
例如:
class Person{
String name; //--->成员变量name.
Person(String name) //--->局部变量ame.
{
this.name=name; // this.name ===>中的name指的就是成员变量的name.
name = name; //如果这样定义,这两个name都是局部变量name.
}
}
当一个类不需要创建对象,作用用来被继承,这个类应该是抽象的。抽象类不能创建对象
抽象方法就是用来被重写(覆盖的),抽象的方法不能有方法体 如public abstract void enjoy();
注意:具有抽象的方法的类必须是抽象的
抽象的的类中既可以有抽象方法,也可以有非抽象的方法
final int a = 1;final(最终的)不能改变的量即常量
final 的类不能继承,final的方法不能被重写
接口(interface) 规则规范标准
- 接口是一种特殊的抽象类
- 只能有常量和抽象方法
- 接口称之为实现,接口可以多实现
- 接口之间叫继承可以多继承