本文主要是介绍Java学习笔记(面向对象),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 一、初始面向对象
- 二、对象的创建分析
- 三、面向对象三大特性
- 四、抽象类和接口
- 五 、内部类及OOP实战
一、初始面向对象
Object-Oriented Programming, OOP
本质:以类的方式组织代码,以对象的方式组织(封装)数据
先有类后有对象,类是对象的模版,对象是一个具体实例。
二、对象的创建分析
//学生类
public class Student {
//属性:字段
String name;
int age;
//无参构造器
public Student() {
}
//有参构造器
public Student(String name) {
this.name = name;
}
public void study() {
System.out.println(this.name+"is studying!");
}
}
- 构造器必须掌握:和类名相同,没有返回值
- 使用
new
关键字,本质是在调用构造器
- 有参构造:一旦定义了有参构造,无参构造就必须显式定义
- 用于初始化对象的值
- Mac快捷键
command+N
插入构造器
- Windows快捷键
Alt+Insert
- 对象通过引用来操作
三、面向对象三大特性
- 封装
- 高内聚:类内部数据操作细节自己完成,不允许外部干涉
- 低耦合:仅暴露少量的方法给外部使用
- 属性私有,get/set:通过接口使用数据
- 意义
- 提高程序安全性,保护数据
- 隐藏代码实现细节
- 统一接口
- 增加系统可维护性
- 继承
- 继承的本质是对某一批类的抽象,从而实现对现实世界更好地建模
extends
的意思是扩展,子类是父类的扩展
- Java中类只有单继承,没有多继承
- 继承是类和类之间的一种关系
- 子类、派生类
- Java中所有类继承Object类
- super
- super调用父类的构造方法,必须在构造方法的第一个
- super必须只能出现在子类的方法或者构造方法中
- super和this不能同时调用构造方法
- this
- 代表的对象不同
- this:本身调用者这个对象
- super:代表父类对象的调用
- 前提
- this:没有继承也可以使用
- super:只能在继承条件才可以使用
- 构造方法
- 方法重写
- 需要有继承关系,子类重写父类的方法
- 方法名必须相同
- 参数列表必须相同(否则变成重载)
- 修饰符,范围可以扩大
- 抛出的异常:范围可以被缩小,但不能扩大
- 重写子类的方法和父类必须一致,方法体不同
- 为什么需要重写?
- 父类的功能,子类不一定需要或者满足
- override
- 多态
- 同一个方法可以根据发送对象的不同而采用多种不同的行为方式
- 多态是方法的多态,属性没有多态
- 父类和子类有联系,类型转换异常
ClassCastException
- 存在条件:继承关系,子类重写父类的方法,父类引用指向子类对象
instanceof
:判断一个对象是什么类型
static
:静态块、静态导入包
final
:修饰的类不能被继承
四、抽象类和接口
抽象类
abstract
关键字
- 只有方法名,没有方法的实现。
- 不能new出来,只能约束
- 抽象方法必须在抽象类中
接口
interface
关键字
- 实现了接口的类 必须要重写接口中的方法
- 利用接口实现多继承
- 接口的作用
- 接口是一种约束
- 定义不同的方法,让不同的人实现
- 接口中的方法都是public abstract
- implements可以实现多个接口
- 必须要重写接口中的方法
五 、内部类及OOP实战
这篇关于Java学习笔记(面向对象)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!