面向对象编程基础

面向对象编程 Object Oriendted Programming

在面向对象编程中,对象是程序的基本单元,对象把程序与数据封装起来提供对外访问的能力,提高软件的重用性,灵活性和扩展性。通常把对象的数据(字段)称为属性,把对象的行为称为方法。

数据类型

java基本数据类型

名称数据类型内存大小(bit)
字节byte8
字符char16
短整型short16
整型int32
长整型long64
单精度浮点数float32
双精度浮点数double64
布尔值boolean不确定

引用类型

引用类型:接口数组
数组:基本数据数组对象类型数组

基本数据数组

一维数组创建:
方法一:类型[ ] 数组名 = {元素1,元素2……};
方法二:**类型[ ] 数组名 = new 类型[长度];

二维数组创建:
方法一:数组类型[][] 数组名 = new 数组类型[ 长度1 ][ 长度2]
(长度2可暂时不给定)
方法二:
数组类型[][] 数组名 = {
{元素1,元素2……},
{……}
};

Array类
原型声明:
public final class Array extends Object
特殊:
1、Array类不能被实例化
2、Array类的方法全部都是静态方法,而且构造方法被private修饰,它们的作用就是提供静态的函数库

java数组学习

对象类型数组

将类的对象作为数组的类型,使用方法和基本数据数组类似。

传值与传引用

基本类型参数传递时是传值
引用类型参数传递时是传引用
传引用的过程:
1、创建一个对象
2、定义一个类的变量
3、将对象的引用赋给该变量

java传值与传引用学习

面向对象编程

this、super、访问控制符

this的用法

this本质:创建好的对象的地址
this表示一个对象的引用,它指向正在执行方法的对象。
在构造方法中也可以使用this,因为在调用构造方法之前该对象已经创建好。

super的用法

super是指向父类的引用。
通过super显式访问父类属性和方法。
super()语句必须是构造方法的第一个子句。

访问控制符

private、protected和public

作用域privateprotectedpublic
同一个类
同一个包
子类
全局范围内

类、接口、抽象类

类 class
1、类中定义属性和方法
2、可实例化出多个对象

抽象类 abstract class
子类继承抽象类关键字 extends

1.抽象类的方法可以不实现也可以部分实现。

2、子类必须全部实现抽象类的方法,否则也是抽象类

3、抽象类不能实例化,但是可以有属性和构造方法。子类可以调用该构造方法。

接口 interface
子类实现接口关键字 implements

1、子类必须全部实现接口的方法,否则子类为抽象类

2、其实接口可以间接性的创建对象。使用匿名内部类就是间接性创建了一个对象。

3、接口里面也是可以有自己的成员变量的,但是默认都是public static final.也就是说,定义的时候就得赋初值。

在实现某个接口时,方法太多用不上,可以先实现一个部分方法的抽象类,然后再用子类继承抽象类,减少子类中没有用到的方法。

重写与重载

重写 Override

子类把父类中的方法重新写一遍。方法返回类型和参数列表不变,对方法内容进行修改或重写。子类函数的访问修饰权限不能少于父类。

例如:实现多线程,继承父类Thread,重写其中的run()方法。

重载 Overload

在一个类中,方法名相同但参数列表不同。重载对返回类型没有要求,可以相同也可以不同。

例如:不同参数的构造函数

重写与重载的区别

1、都是多态性的体现,重写是运行时的多态性,重载是编译时的多态性。
2、重写发生在子类与父类之间,重载发生在一个类中。
3、重写要求参数列表相同,重载要求参数列表不相同。

继承与实现

1、继承 extends;实现 implements

2、同一个类只能继承一个父类,但可以实现多个接口,即单继承,多实现。

3、继承中可以定义属性和方法,变量和常量等;
接口中只能定义全局常量(static final),和无实现的方法。

4、继承可以实现部分方法,该子类也是抽象类;实现必须实现接口全部方法。

封装、继承、多态

封装、继承和多态是面向对象编程的三大特性。

封装:将对象所持有的属性和方法隐藏,仅对外提供公开的接口。
继承:指一个对象在声明继承另一个对象后,可以使用该对象中允许的属性和方法。
多态:即在不同情况下可以表现出不同的状态,或者说是调用不同的属性和方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值