说明:最基础的一些东西就不说了,本篇文章默认都带有一点点基础
一丶面向对象的三大特性
概述:
java中的面向对象的三大基本特征是:封装、继承、多态
1.1 封装
概述:
封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别
封装原则:
• 将不需要对外提供的内容都隐藏起来
• 把属性都隐藏,提供公共方法对其访问
封装的好处:
- 提高重用性
- 不必关心具体的实现
- 具有安全性。
1.2 继承
概述:
继承是面向对象最显著的一个特性。
继承是从已有的类中派生出新的类
, 新的类能吸收已有类的数据属性和行为
,并能扩展新的能力
。
在JAVA中, 被继承的类叫父类或超类, 继承父类的类叫子类或派生类。 因此, 子类是父类的一个专门用途的版本, 它继承了父类中定义的所有实例变量和方法, 并且增加了独特的元素
继承特性
- java中一个类最多只能有一个直接的父类,即
单继承
- java中要实现多继承,通过接口来实现
- 父类中所有属性和方法都能继承给子类;父类中的
私有方法不能继承
给子类。 共性放到父类,特性放到子类
继承好处
- `提高了代码的复用性``(多个类相同的成员可以放到同一个类中)
- 提高了代码的
维护性
(如果方法的代码需要修改,修改一处即可)
继承弊端
继承让类与类之间产生了关系,
类的耦合性增强
了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性
1.3 多态
什么是多态?
同一个对象,在不同时刻表现出不同形态
多态的前提:
- 要有继承或实现关系
- 要有方法的重写
- 要有父类引用指向子类对象
好处:
提高程序的扩展性
。定义方法时候,使用父类型作为参数,在使用的时候,使用具体的子类型参与操作
弊端:
不能使用子类的特有成员
成员变量丶变量:编译看父类,运行看子类
二丶关键字
四大属性:
public
: 公有属性,权限最大,所有类都可以访问default
: 包访问权限protected
: 对于本类、本包及其子类可见private
: 私有性属性,只能在本类中进行调用,如果外部使用,需要调用get set方式
this&super
关键字:
- this:代表本类对象的引用
- super:为父类对象,属性引用
static
:表示静态的。用来声明同一类对象的共享资源
成员变量
:类中的方法外的属性; 成员变量在堆内存中存放
局部变量
:方法内的属性,只能在方法内进行使用; 局部变量在栈内存中存放
接口
: 接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。
默认方法
不是抽象方法,所以不强制被重写。但是可以被重写,重写的时候去掉default关键字