感悟
面向对象
.什么是面向对象?
面向对象:是一种领导者的思想
面向过程:是执行者的思想
.面向对象思维好处?
1.让问题简单化
2.面向对象思维方式是人们更习惯的思维方式 毕竟面向对象思想是领导者的思想
类与对象
对象在需求种的使用?
1.先描述对象 更加具体确认类中的方法和属性
2.在用nuw方法创建 类的具体对象
3.在通过类的具体对象来实现功能
类和对象的区别?:
类:是对一种事务的抽象的描述
对象:是用于表现该类在现实事务中的个体
局部变量和成员变量区别?
1.定义不同
成员变量定义在类中,局部变量定义在方法里
2.初始化不同
成员变量有系统默认值,局部变量没有被赋值
3.生命周期不同
成员变量进堆 有垃圾处理系统处理,局部变量走栈随方法的消失而消失
4.内存不同
成员变量走堆,局部变量走栈
封装
封装的概述?
隐藏实现细节,对外提供可以访问的方式
封装的好处?:
1.提高代码复用性
2.实现隐藏细节 对外提供可以访问的方式
3.提高代码安全性
私有private?
让属性私有化 只有gat(取值)set(赋值)调用
this关键字?
this.
解决成员变量和局部变量的重名问题
继承
继承的概念
就是先故有一个类,在创建一个类。那么新类就是字类 固有的类就是父类
字类继承父类的所有方法和属性
继承的好处
1.提高代码复用
2.提高工作效率
3.让类与类之间有了关系,为多态提供了前提
super.和this.的作用
supei.是继承父类的方法
this.是解决成员变量和局部变量的重名问题
抽象类
注意:抽象方法必须存在于抽象类但是抽象里可以有普通方法
抽象方法没有方法体 抽象方法只能声明方法 所以抽象方法大部分都是父类
子类只有重写方法才能实现抽象类方法
抽象类不能与private final(最后最终) static(静态)共存
接口
接口概念?
接口是所有功能的集合
接口中成员的特点?
1.接口可以定义成员变量 但是必须用固定的修饰符 pubilc static final
而且修饰后 称为成员常量 不能修改
2.接口也可以定义方法 但是必须用 public abstract才行
3.接口不能创建对象
4.接口定义的方法 只有字类重写才能实现。
接口的多实现?
一个字类可以实现多个接口,但是一个字类只能继承一个父类
类继承同时显现接口?
先继承父类 在实现接口
接口的多继承?
接口和类之间是实现,一个类可以实现多个接口
接口和接口之间是继承,接口可以继承多个接口
接口的思想:
1.扩展了代码功能
2.接口其实就是暴露出来的规则
3。接口降低了耦合性 实现了类与类之间的解耦
接口和抽象方法的区别:
相同点:
1.都是位于继承的顶端
2.都不能创建对象
3.其中的方法 都是只能被字类重写后实现
不同点:
1.接口里只能存有抽象方法 抽象类里 可以实现部分方法 提高代码重用性
2.一个类只能有一个父类 但是接口可以被多个实现
多态
多态的概述?
父类引用变量可以指向字类
多态的前提:
1.必须是子父类的关系或者接口
2.父类用引用变量调用的是字类重写后的方法
向下转型?
调用字类独有的属性或者是方法
总结下封装、继承、多态的作用:
封装:实现隐藏细节对外提供可以访问的方式
继承:字类完全继承父类
多态:提高代码复用性 扩展性 提高工作效率
构造方法
创造方法的定义?
创建对象时 明确对象的属性值
构造方法的体现?
1.构造方法必须没有返回值类型也不需要返回值
2,构造方法名必须与类名一致
3,构造方法没有具体的返回值
构造方法和一般方法区别?
1.构造方法是在创建对象时就已经执行 而且只能执行一次
2.一般是创建对象后 在被对象调值 可以多次调值执行
this和super分别的作用
this.是解决父类和字类重名问题
this()是调用本类中的构造方法
super.是调用当前父类的方法
super()是调用父类的构造方法
final
final的特点
1.final修饰的类 不能继承 只能继承别人
2.final修饰的方法 不能被重写 但是可以在父类没有写final的方法后面 写final
3,final修饰的值为成员常量 一次赋值 终生不变
4,引用变量的值为地址值 地址值不能被修改 但是地址值里的属性可以修改
5.修饰成员前 必须给创建对象赋值 否则会报错
static关键字
static特点
1.被static修饰的成员 就不属于这个类的对象了 属于这个类
2,被static修饰的成员可以之间通过类名之间访问
匿名对象
特点:
1,匿名对象没有变量名可以直接使用
2,匿名对象只能使用一次
3。匿名对象可以作为参数 返回值使用
内部类:
可以写在局部变量和成员变量的地方就是内部类 其他的都是外部类
浙公网安备 33010602011771号