Java — 面向对象

简介:类是对事物的一种描述,对象则为具体存在的事物。

类的定义:

public class 类名 {
    // 成员变量
    访问修饰符 数据类型 变量名;
    ...

    // 成员方法
    访问修饰符 返回类型 方法名(参数列表) {
        若干语句;
        return 方法返回值;
    }
    ...

}

创建对象: 类名 对象名 = new 类名();

成员调用: 对象名.成员变量;对象名.成员方法(参数列表);

定义: 访问修饰符 返回值类型 方法名(参数列表) { 方法逻辑; return 方法返回值 }

调用: 方法名(参数列表);

分类:无参数无返回值、无参数有返回值、有参数无返回值、有参数有返回值。

传值:

进阶:

简介:封装是面向对象编程语言对客观世界的模拟,客观世界里成员变量都隐藏在对象内部,外界无法直接操作。

原则:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

实现:

private 关键字:

this 关键字:

构造方法:

由来:多个类中存在相同属性和行为时,将这些相同内容抽取到一个公共类中,则其它类中无需再定义这些属性和行为,只需继承公共类即可。

定义:就是子类继承父类的属性和行为,使得子类对象具有与父类对象相同的属性和行为,且子类可直接访问父类的非私有属性和行为。

格式: public class 子类名 extends 父类名 {...}

好处:提高代码的复用性,类与类之间产生了关系,是多态的前提。

特点:只支持单继承,不支持多继承,但支持多层继承。

方法重写:

访问修饰符:

super 关键字:

super 和 this 的区别:

成员访问特点:

简介:同一对象在不同时刻表现出不同的形态。

特点:相同的消息给予不同的对象会引发不同的动态,也就是允许不同类的对象对同一消息做出不同的响应。

实现:满足继承(实现)关系、要有方法重写、父类引用指向子类对象。

访问:成员变量(编译看左边,执行看左边),成员方法(编译看左边,执行看右边)。

好处:定义方法时,使用父类型作为参数,将来调用时使用具体的子类型参与操作。

弊端:不能使用子类的特有方法。

转型:

简介:final 关键字是最终的意思,可以修饰类、成员方法、成员变量。

修饰类:

修饰方法:

修饰变量:

简介:static 关键字是静态的意思,访问修饰成员方法、成员变量。

修饰方法:

修饰变量:

简介:在做子类共同功能抽取时,有些方法在父类中并没有具体的体现,此时就需要抽象类。

格式: public abstract class 类名 {...}

特点:

内部:

注意:

简介:接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java 中的接口更多的体现在对行为的抽象。

格式: public interface 接口名 {...}

特点:

内部:

抽象类与接口的区别:

新特性:JDK8 之前,接口只有常量以及抽象方法。JDK8 时,接口增加了默认方法和静态方法。JDK9 时,接口增加了私有方法。

默认方法:

静态方法:

私有方法:

简介:就是在一个类中定义一个类,例:在类 A 的内部定义类 B,类 B 就是内部类。

格式: public class 类名 { 访问修饰符 class 类名 }

特点:内部类可以直接访问外部类的成员(包括私有),外部类要访问内部类的成员必须创建对象。

分类:

Original: https://www.cnblogs.com/bybeiya/p/16241642.html
Author: 北涯
Title: Java — 面向对象

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/585901/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • WEB自动化-05-Cypress-元素交互

    5 元素交互 元素识别和操作是UI自动化测试的基础,下面一起来学习一下在Cypress中的元素交互操作吧。 5.1 元素定位器选择 每一个测试用例都包含对元素的定位识别和操作等。因…

    Linux 2023年6月7日
    093
  • docker –link容器互联

    服务器版本 docker软件版本 CPU架构 CentOS Linux release 7.4.1708 (Core) Docker version 20.10.12 x86_64…

    Linux 2023年6月7日
    093
  • Redis从入门到精通:初级篇

    原文链接:http://www.cnblogs.com/xrq730/p/8890896.html,转载请注明出处,谢谢 Redis从入门到精通:初级篇 平时陆陆续续看了不少Red…

    Linux 2023年5月28日
    082
  • 最小容器内常用命令安装方法

    首先改成中科大的源 echo “deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free\ndeb ht…

    Linux 2023年6月13日
    0100
  • 防火墙NAT配置与DHCP下发

    该实验如果有做的不足的地方请见谅 实验目标: 按要求划分区域,公司内部办公区为trust,服务器区为dmz,外部网络为untrust。 PC1和PC2为公司内部办公区,需要从防火墙…

    Linux 2023年6月7日
    098
  • Linux指令

    Linux 目录简介/bin Binary的缩写,存放最经常使用的命令/sbin s代表Super user,存放系统管理员使用的系统管理程序/home 存放普通用户的主目录,每个…

    Linux 2023年5月27日
    085
  • 洛谷P3372–线段树代码模板1

    时空限制:1000ms,128M 数据规模: 对于30%的数据:N Original: https://www.cnblogs.com/ygsworld/p/11279732.ht…

    Linux 2023年6月7日
    0108
  • 014 Linux 线上高频使用以及面试高频问题——如何查找大文件并安全的清除?

    1 案例描述? 2 命令一(目录统计排序最佳命令) 3 命令二(最实用,目录和文件一起统计排序) (1)命令详情和说明 (2)du、head、sort、awk 详细说明参考已有文章…

    Linux 2023年5月27日
    0107
  • 【镜像取证篇】DD系统镜像仿真问题的一些补充说明

    【镜像取证篇】DD系统镜像仿真问题的一些补充说明 ​ 系统千千万,环境占一半,遇到问题建议多重新挂载镜像,多尝试,站在岸上永远学不会游泳。—【蘇小沐】 【镜像取证篇】D…

    Linux 2023年6月13日
    0110
  • 实验一 密码引擎-4-国䀄算法交叉测试

    任务详情 0 2人一组,创建一个文件,文件名为小组成员学号,内容为小组成员学号和姓名1 在Ubuntu中使用OpenSSL用SM4算法加密上述文件,然后用龙脉eKey解密,提交代码…

    Linux 2023年6月8日
    089
  • 节约内存:Instagram的Redis实践(转)

    1.M emcached 内存Key-Value Cache Redis 内存数据库 四,节约内存:Instagram的Redis实践 Instagram可以说是网拍App的始祖级…

    Linux 2023年5月28日
    089
  • CAP 5.1 版本发布通告 你期待的 Redis 来了

    前言 今天,我们很高兴宣布 CAP 发布 5.1 版本正式版,在这个版本里我们同样引入了更多令人激动的新特性和改进,同时也得到越来越多人的喜爱。 得益于社区的反馈和贡献者的支持,在…

    Linux 2023年5月28日
    097
  • 软件定义网络第一次作业

    配置结果 如何pip解决下载过慢问题 实验环境配置 环境安装截图如下 安装环境过程中一些问题的解决 github连接不上 在hosts文件中加上以下语句 140.82.114.3 …

    Linux 2023年6月7日
    095
  • Docker镜像构建之docker commit

    我们可以通过公共仓库拉取形象,但有时公共仓库拉取的形象不符合我们的需求。虽然我们已经从繁琐的部署工作中解脱出来,但在实际开发中,我们可能希望镜像包含整个项目的完整环境,将打包的完整…

    Linux 2023年5月27日
    087
  • 设计模式在业务系统中的应用

    本文的重点在于说明工作中所使用的设计模式,为了能够更好的理解设计模式,首先简单介绍一下业务场景。使用设计模式,可以简化代码、提高扩展性、可维护性和复用性。有哪些设计模式,这里就不再…

    Linux 2023年6月8日
    098
  • 面试题:海量数据处理利器-布隆过滤器

    概念 原理 布隆过滤器的使用场景 简单模拟布隆过滤器 Guava布隆过滤器 Redis布隆过滤器 布谷鸟过滤器 作者:小牛呼噜噜 | https://xiaoniuhululu.c…

    Linux 2023年6月6日
    0150
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球