首页 > 基础资料 博客日记

Java面向对象

2023-07-27 17:43:52基础资料围观361

文章Java面向对象分享给大家,欢迎收藏Java资料网,专注分享技术知识

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

    1. 提高程序的安全性,保护数据
    2. 隐藏代码的实现细节
    3. 同一接口
    4. 系统可维护增加了
  • 继承 extends

    只有单继承,没有多继承。继承是类和类之间的一种关系,还有依赖、组合、聚合等

    • object类,默认直接继承或间接继承Object

    • super

      调用父类构造方法,必须在构造方法第一个

      必须只能出现在子类的方法或构造方法中

      super和this不能同时调用构造方法

      代表对象不同 this:本身调用者这个对象 super:代表父类对象的应用
      前提 this:没有继承也能使用 super:只能在继承条件下才可以使用
      构造方法 this:本类的构造 super:父类的构造
    • 方法重写

      需要有继承关系,子类重写父类的方法

      1. 方法名必须相同
      2. 参数列表必须相同
      3. 修饰符:范围可以扩大但不能缩小:public>protected>default>private
      4. 抛出异常:范围可以被缩小但不能扩大

      重写,子类方法和父类一致,只是方法体不同

      为什么需要重写:父类功能,子类不一定需要,或不一定满足

  • 多态

    1. 多态是方法的多态,属性没有多态
    2. 父类和子类,有联系 类型转换异常ClassCastException
    3. 存在条件:继承关系,方法需重写,父类引用指向子类对象

    instance of:X instanceof Y

    类型转换:父类引用指向子类的对象

    ​ 把子类转为父类向上转型;父类转子类向下转,强制。

  • static小结

    可以用类名访问静态变量和方法

    static{
        //静态代码块
    }
    
    //静态导入包
    import static java.lang.Math.random
    

抽象类和接口

abstract,抽象类的所有方法,如果有子类继承它,都必须要重写

  1. 不能new这个抽象类,只能靠子类去实现
  2. 抽象类中可以写普通的方法
  3. 抽象方法必须在抽象类中

extends单继承;接口可以多继承

接口

只有规范,无法自己写方法,约束和实现分离:面向接口编程

接口的本质是契约

声明类的关键字是class,声明接口的关键字是interface

  • 接口作用

    约束

    定义一些方法,让不同的人实现

    public abstract

    public static final

    接口不能被实例化,接口中没有构造方法

    implements可以实现多个接口

    必须要重写接口中的方法

内部类

  • 内部类就是在一个类的内部再定义一个类
    1. 成员内部类
    2. 静态内部类
    3. 局部内部类
    4. 匿名内部类

文章来源:https://www.cnblogs.com/MRday/p/16501943.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!

标签:

相关文章

本站推荐

标签云