java面向对象复习

本文详细介绍了Java面向对象的基础概念,包括类和对象的关系、属性和方法、构造方法的重载、封装原则、继承特性、抽象类与接口的区别。重点讲解了如何创建和操作对象,以及如何利用封装和继承提高代码复用和模块化。
摘要由CSDN通过智能技术生成

一、java面向对象基础部分

  1. 类和对象的概述
    类只是抽象概念,程序员编写的类,只是模板,本身不会占用内存(占用的是磁盘空间)。
    对象:有模板创建出来的实例,是真实存在的,会占用内存(程序中就是用对象保存数据)。

  2. 类和对象的关系
    类是对象的模板 对象是类的实例

  3. 类和对象的组成
    由属性和方法组成。
    属性:事物固有的特征,如身高、体重和姓名等……
    方法:事物能够执行的操作,如吃饭、睡觉和学习等……

  4. 属性:属性就是变量
    特殊的属性:可以将对象作为属性

  5. 方法(普通):
    <1>.无参无返回值
    <2>.无参有返回值
    <3>.有参无返回值
    <4>.有参有返回值
    参数的传递方式:属于值传递。这种传递方式不会传递地址。

二、构造方法

  1. 构造方法的作用:用来构造对象。在创建对象的过程中,会调用构造方法。
    一般改写构造方法对属性进行初始化。
    注意:
    1、构造方法被改写后,系统的默认结构将会失效。
    2、如果没有手动改写构造方法,那么在创建对象的过程中,系统会调用对应的默认构造方法。 public 类名(){}
    3、一个类中不一定要写构造方法。
    4、方法名与类名相同的方法不一定是构造方法,例如Test01类中 public void Test01(){}
    5、类中可以存在多个main方法(重载)。
    6、构造方法的第一句默认调用父类的默认构造。
  2. 构造(或普通)方法的重载
    1、在同一个类中存在多个相同名字的方法。 2、同名方法的参数列表必须互不相同,参数列表指数据类型和数据个数。
    public void show(int num,String str){}
    public void show(int num,String str,char ch){}
    属于重载
    3、重载与返回值和访问修饰符无关
    public void method(int num,String str){}
    public int method(int num,String str){}
    不属于重载

三、封装

封装:对于程序的实现细节进行隐藏。
封装的特点:
1、属性私有化。不让外部类直接操作属性,防止属性被随意修改操作。
2、向外部提供getter/setter,间接的修改属性和获得属性的方法。
3、改写构造方法,使外部类可以初始化属性的值(即赋值)。
4、重写toString();代替show()方法。
5、重写equals();提供对象比较的规则。
6、通过构造方法和set方法可以对属性进行限制,

四、继承

继承:在原有类(父类)的基础上派生出新的类(子类)。

  1. 特点
    1、一旦发生继承关系,子类将会拥有父类的内容。但这些内容不包括:父类的私有内容和构造 方法,父类可以被继承的成员与访问修饰符有关。此外,如果两个类不在同一个包下,则无法 直接形成继承关系。
    2、子类继承父类后拥有了父类的内容,这种关系被称为is a的关系。
    3、java类支持单继承,指一个子类只能有一个父类
    4、java类支持多实现,指一个子类可以实现多个java接口

  2. 访问修饰符:
    public:不同方法之间都可以互相使用,按照实际情况导入包名和类名。
    protected:受保护的 不同包之间可以访问,但是两个类之间必须存在继承关系。
    默认:在同一个包不同类可以相互访问。 private:只能在本类中使用。

五、抽象类和接口

  1. 抽象类
    1、抽象类不能实例化,但是拥有构造方法。 2、有抽象方法的类一定是抽象类。
    3、抽象类不一定有抽象方法,可能没有任何抽象方法。
    4、普通java类继承抽象方法必须实现抽象类的所有方法。
    5、抽象类继承抽象类,不一定要实现父类所有的方法。
    6、抽象类可以有构造方法和普通方法等所有普通类能够拥有的内容。
    7、抽象类中 abstract 关键字不可以省略。

  2. 接口
    1、接口可以有抽象方法和静态常量,还可以有 default 默认方法。
    2、接口中的对象可以省略 abstract 、 final 、 static 关键字。
    3、接口不可以实现接口。
    4、接口可以单或多继承接口。
    5、接口不可以继承抽象类。
    区分:java类 只支持单继承
    所以java支持单继承
    java接口 支持多继承
    所以java支持多继承

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值