十面向对象总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十面向对象总结相关的知识,希望对你有一定的参考价值。



1.面向对象的思想
与面向过程对比,看待问题的方式不同,面向过程--亲力亲为,面向对象--委托给别人
核心内容:类和对象

2.类和对象
类:具有特殊功能的实体的集合
对象:类中一个实实在在存在的个体
二者之间的关系:类是多个对象的抽取,对象是类的具体的存在

类的定义:class

类中成员变量和成员方法的定义
成员变量:全局变量,属性
局部变量:
成员变量和局部变量之间的区别:定义的位置,作用域,初始值,生命周期

静态成员变量和非静态成员变量:
静态方法和非静态方法:
规律:在同一个类中,在静态方法中只能访问静态成员变量和调用静态方法
在非静态方法中,访问静态成员变量和非静态成员变量,调用静态方法和非静态方法

对象的创建;new
引用变量:栈空间中
实际的对象:堆空间中

规律:跨类访问成员变量或者调用方法,
静态:类名. 对象.【不同的对象访问的是同一块的内存空间】
非静态:对象.

方法重载
重载规则:在同一个类中,方法名相同,参数不同【数量不同,类型不同】

构造方法
注意事项:
a.构造方法没有返回值
b.构造方法的方法名字其实就是类名
c.构造方法是在创建对象的过程中自动被调用,不能手动调用

构造方法的重载
a.系统会默认提供一个无参的构造方法
b.如果手动添加了有参的构造方法,系统将不再提供无参的构造方法

3.封装
私有化:private
好处:提高了数据的可复用性和安全性


get/set方法:间接访问

面试题:get、set方法不能使用static修饰的原因:二者主要针对成员变量进行获取值和赋值,如果成员变量是非静态的,则在静态方法中不能被访问

this
this:对当前对象的引用
this.属性:有参的构造方法,set方法
this.方法:可以省略的
this(参数):只能出现在当前类在当前类的构造方法中,表示调用其他的构造方法

static
静态代码块和构造代码块主要用于给成员变量赋值

执行顺序:静态代码块>main函数>构造代码块>构造方法

单例设计模式:懒汉式 饿汉式

4.继承
优点:提高了代码的可读性,提高代码的可复用性

使用继承:extends
特点:
a.子类可以继承父类中的【在访问权限内的】成员变量和方法
b.子类对象可以直接访问或者调用父类中的成员变量和方法
c.一个父类可以有多个子类,一个子类只能有一个父类【单继承】
d.构造方法不能被继承

super:肯定与父类有关
super.属性
super.方法
super(参数)

和this基本相同


访问权限修饰符
权限大小:主要为了重写
default:包权限


方法重写:
重写规则:
a.方法名相同
b.参数相同
c.返回值类型:相同,是父类返回值类型的子类
d.访问权限修饰符:大于等于


final
类:不能被继承
方法:不能被重写,但是可以重载,可以被调用
变量:这个变量是一个常量
成员变量:被final修饰,将不再提供初始值


基本数据类型和引用数据类型:只针对的是引用变量


Object类:Java中所有类的父类
hashCode()
equals()


抽象类 abstract

抽象类的特点:
抽象方法的特点:
抽象方法和普通方法之间的区别:


接口
接口的特点:
接口和抽象类的区别:


5.多态
体现形式:
父类的引用指向子类的对象
接口的引用指向实现类的对象


对象的向上转型:多态的体现
对象的向下转型:强制类型转换,instanceof

工厂设计模式:多态的应用

6.内部类
成员内部类和匿名内部类【掌握】





















































































以上是关于十面向对象总结的主要内容,如果未能解决你的问题,请参考以下文章

杨玲 201771010133《面向对象程序设计(java)》第十三周学习总结

达拉草201771010105《面向对象程序设计(java)》第十三周学习总结

201871010111-刘佳华《面向对象程序设计(java)》第十四周学习总结

201771010126 王燕《面向对象程序设计(Java)》第十三周学习总结

刘志梅2017710101152.《面向对象程序设计(java)》第十三周学习总结

201771010125王瑜《面向对象程序设计(Java)》第十三周学习总结