面向对象以及基础总结
面向对象 就是不断的创建对象,使用对象,指挥对象做事情 。
面向对象特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
2 继承:把多个类中相同的成员给提取出来定义到一个独立的类中。然后让这多个类和该独立的类产生一个关系,继承的好处:
A:提高了代码的复用性
B:提高了代码的维护性
C:让类与类产生了一个关系,是多态的前提
(4)继承的弊端:
A:让类的耦合性增强。这样某个类的改变,就会影响其他和该类相关的类。
原则:低耦合,高内聚。
耦合:类与类的关系
内聚:自己完成事情的能力
B:打破了封装性
3
.
多态 : 某一个事物,在不同时刻表现出来的不同状态
多态的前提:
A:有继承或者实现关系。
B:有方法重写。
C:有父类或者父接口引用指向子类对象。
重写
方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。
重载
父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。方法重写又称方法覆盖。
关键字:
private关键字,是一个权限修饰符,可以修饰成员
this:代表所在类的对象引用
static关键字,可以修饰成员变量和成员方法
super关键字,super代表父类存储空间的标识
final关键字,final关键字是最终的意思,可以修饰类,成员变 量,成员方法pan style='fon
权限修饰符:private,默认,protected,public
状态修饰符:static,final
抽象修饰符:abstract
(2)常见的类及其组成的修饰
类:
默认,public,final,abstract
常用的:public
成员变量:
private,默认,protected,public,static,final
常用的:private
构造方法:
private,默认,protected,public
常用的:public
成员方法:
private,默认,protected,public,static,final,abstract
常用的:public
把类定义在另一个类的内部,该类就被称为内部类。
举例:把类B定义在类A中,类B就被称为内部类。
(2)内部类的访问规则
A:可以直接访问外部类的成员,包括私有
B:外部类要想访问内部类成员,必须创建对象
匿名内部类:就是内部类的简化写法,前提:存在一个类或者接口
基础数据类型
boolean,byte,char,short,int,long,float,double(都有对应的封装类)
引用数据类型
Boolean,Byte,Character...
储存方式
基本数据类型都在stack中
引用类型,变量是放在stack中,真正有内容的东西放在heap中
面向对象 就是不断的创建对象,使用对象,指挥对象做事情 。
面向对象特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
1.封装
:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
对象是封装的最基本单位。为了防止部分代码的变动而影响整个程序。面向对象的封装能够使程序更加清晰明了2 继承:把多个类中相同的成员给提取出来定义到一个独立的类中。然后让这多个类和该独立的类产生一个关系,继承的好处:
A:提高了代码的复用性
B:提高了代码的维护性
C:让类与类产生了一个关系,是多态的前提
(4)继承的弊端:
A:让类的耦合性增强。这样某个类的改变,就会影响其他和该类相关的类。
原则:低耦合,高内聚。
耦合:类与类的关系
内聚:自己完成事情的能力
B:打破了封装性
多态的前提:
A:有继承或者实现关系。
B:有方法重写。
C:有父类或者父接口引用指向子类对象。
重写
方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是多态性。
重载
父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。方法重写又称方法覆盖。
关键字:
private关键字,是一个权限修饰符,可以修饰成员
this:代表所在类的对象引用
static关键字,可以修饰成员变量和成员方法
super关键字,super代表父类存储空间的标识
final关键字,final关键字是最终的意思,可以修饰类,成员变 量,成员方法pan style='fon
abstract | 表明类或者成员方法具有抽象属性 |
assert | 用来进行程序调试 |
break | 提前跳出一个块 |
case | 用在switch语句之中,表面其中的一个分支 |
catch | 用在异常处理中,用来捕捉异常 |
class | 类 |
continue | 回到一个块的开始处 |
default | 默认,例如,用在switch语句中,表明一个默认的分支 |
do | 用在do-while循环结构中 |
else | 用在条件语句中,表明当条件不成立时的分支 |
enum | 枚举 |
权限修饰符:private,默认,protected,public
状态修饰符:static,final
抽象修饰符:abstract
(2)常见的类及其组成的修饰
类:
默认,public,final,abstract
常用的:public
成员变量:
private,默认,protected,public,static,final
常用的:private
构造方法:
private,默认,protected,public
常用的:public
成员方法:
private,默认,protected,public,static,final,abstract
常用的:public
| public | protected | 默认 | private |
同一类中 | √ | √ | √ | √ |
同一包子类,其他类 | √ | √ | √ |
|
不同包 子类 | √ | √ |
| |
不同包 其他类 | √ |
|
|
把类定义在另一个类的内部,该类就被称为内部类。
举例:把类B定义在类A中,类B就被称为内部类。
(2)内部类的访问规则
A:可以直接访问外部类的成员,包括私有
B:外部类要想访问内部类成员,必须创建对象
匿名内部类:就是内部类的简化写法,前提:存在一个类或者接口
基础数据类型
boolean,byte,char,short,int,long,float,double(都有对应的封装类)
引用数据类型
Boolean,Byte,Character...
储存方式
基本数据类型都在stack中
引用类型,变量是放在stack中,真正有内容的东西放在heap中