首页 > 基础资料 博客日记
Java面向对象
2023-07-27 17:43:52基础资料围观361次
Java面向对象
初识面向对象
Object-Oriented Programming,OOP
本质就是:以类的方式组织代码,以对象的组织(封装)数据
三大特性:
- 封装
- 继承
- 多态
方法回顾和加深
方法定义 | 方法调用 |
---|---|
修饰符 | 静态方法 |
返回类型 | 非静态方法 |
break,return | 形参和实参 |
方法名 | 值传递和引用传递 |
参数列表 | this关键字 |
异常抛出 |
对象的创建分析
使用new关键字创建对象
使用new关键字创建的时候,除了分配内存空间以外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用
类中的构造器也称构造方法,是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点:
-
必须和类的名字相同
-
必须没有返回类型,也不能写void
/* public static void main(String[] args) { //new实例化了一个对象 Person person = new Person("kuang",23); System.out.println(person.name); } 构造器: 1.和类名相同 2.没有返回值 作用: 1.new本质在调用构造方法 2.初始化对象的值 注意点: 1.定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造 */
面向对象的三大特性
-
封装:
高内聚,低耦合,高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用
属性私有,get/set
- 提高程序的安全性,保护数据
- 隐藏代码的实现细节
- 同一接口
- 系统可维护增加了
-
继承 extends
只有单继承,没有多继承。继承是类和类之间的一种关系,还有依赖、组合、聚合等
-
object类,默认直接继承或间接继承Object
-
super
调用父类构造方法,必须在构造方法第一个
必须只能出现在子类的方法或构造方法中
super和this不能同时调用构造方法
代表对象不同 this:本身调用者这个对象 super:代表父类对象的应用 前提 this:没有继承也能使用 super:只能在继承条件下才可以使用 构造方法 this:本类的构造 super:父类的构造 -
方法重写
需要有继承关系,子类重写父类的方法
- 方法名必须相同
- 参数列表必须相同
- 修饰符:范围可以扩大但不能缩小:public>protected>default>private
- 抛出异常:范围可以被缩小但不能扩大
重写,子类方法和父类一致,只是方法体不同
为什么需要重写:父类功能,子类不一定需要,或不一定满足
-
-
多态
- 多态是方法的多态,属性没有多态
- 父类和子类,有联系 类型转换异常ClassCastException
- 存在条件:继承关系,方法需重写,父类引用指向子类对象
instance of:X instanceof Y
类型转换:父类引用指向子类的对象
把子类转为父类向上转型;父类转子类向下转,强制。
-
static小结
可以用类名访问静态变量和方法
static{ //静态代码块 }
//静态导入包 import static java.lang.Math.random
抽象类和接口
abstract,抽象类的所有方法,如果有子类继承它,都必须要重写
- 不能new这个抽象类,只能靠子类去实现
- 抽象类中可以写普通的方法
- 抽象方法必须在抽象类中
extends单继承;接口可以多继承
接口
只有规范,无法自己写方法,约束和实现分离:面向接口编程
接口的本质是契约
声明类的关键字是class,声明接口的关键字是interface
-
接口作用
约束
定义一些方法,让不同的人实现
public abstract
public static final
接口不能被实例化,接口中没有构造方法
implements可以实现多个接口
必须要重写接口中的方法
内部类
- 内部类就是在一个类的内部再定义一个类
- 成员内部类
- 静态内部类
- 局部内部类
- 匿名内部类
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签: