ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java面向对象

2022-07-21 15:04:52  阅读:134  来源: 互联网

标签: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. 匿名内部类

标签:Java,构造方法,继承,子类,接口,面向对象,父类,方法
来源: https://www.cnblogs.com/MRday/p/16501943.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有