【图文解析 】Java中的Liu、继承、组合

2023-11-10

 

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

Alt +Shift +s 快捷键

 

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

程序包:

管理类和接口的工具。

//声明一个程序包,package 包名[.子包…..]

规范:

   字母都消协;

   ②包名都是唯一的;

   ③包具有层次结构;

   ④域名反转,部门名.项目名;

程序包使用:

不同包:

不同包下的类互相访问,需要导入包;

   import 包名.类型名;

   import 包名.*;

或者 使用 完全限定名称:包名,类名;

②有子包。需要导入具体包的类;直接导入父类的包,不能导入子类。

 

③两个包下的类同名,需要用完全限定名称访问。

包的好处

  • 管理类;
  • 解决了命名冲突;

③提供了更好的封装,保护了类和类中的成员;

 

 

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -、

常见的包:

Java.lang :核心类库

Java.util:工具类 集合类

Java.text:格式化

Java.math:数学

Java.io: 流

Java.sql:数据库

Java.net;网络编程

记住!记住!记住!

 

本类

同包

子类

不同包

Private私有

 

 

 

默认

 

 

Protected保护

 

Public公有

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

修饰类 :public,默认

修饰类中的成员:属性,方法,构造器,

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

Static

修饰符

静态

 

修饰:属性,方法,代码块,类(内部类)

修饰属性:

Class Demo{

Int n;//实现成员变量;

Static int x;//静态成员变量,类变量

}

静态变量:

  1. 属于类的
  2. 类加载的时候初始化
  3. 不属于对象,但是可以被所有对象共享;

使用方式:

对象名。类变量

类名.静态变量(使用)

作用:共享。

静态变量  和 实例变量区别:

  1. 静态 属于类;实例 属于对象;
  2. 静态类加载的时候初始化;

实例 在new创建对象时 初始化。

  1. 静态 类 卸载时释放。(应用程序结束,生命周期长)

实例 对象释放了就销毁了。

 

Staitic修饰方法:静态方法,类方法。

作用:

  1. 使用简单;2.不能创建对象

注意:1.静态方法中只能直接使用静态成员;非静态的,需要用对象调用;

      2.静态方法中不能使用this,和super.

静态方法和实例方法的区别:

  1. 静态方法只能直接使用家庭成员;实例方法 可以使用静态的也可以使用非静态的。
  2. 静态方法中不能使用this 和super。实例方法可以使用this,super.

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

  • 代码块:
  •                                       

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

3.局部代码块

  • Public void 方法(){
  • {
  •   局部代码块:
  •   作用:控制局部变量的使用范围
  • }
  • }
  • 执行顺序:
  •       Static:类加载自动执行:
  •       构造块:new对象,自动执行
  •       构造块():new 对象时调用
  •       局部块: 只有调用方法是执行;
  • Static块>构造块>构造器

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

静态导入:导入不同包下的静态成员

Import staitic 包名,类名,静态变量

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

单例设计模式:只有一个对象。

饿汉式 和 懒汉式:

  1. 饿汉式 类加载 值就有了;懒汉式 只有在使用的时候才会赋值
  2. 线程:

多线程:饿汉式 安全;

       懒汉式 不安全;

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

-  -- - - - - - -  - - - - -- - - -- - - --  - - -  - -- - --  --  - - - - - - - - --  --  -- - - - - -  -- -- - - - - - -  -

Math类

随机数

产生随机数

(int)(Math.random()*(最大值 - 最小值 + 1)+最小值)

Random类:

Random r1 = new Random(11);

Random r2 = new Random(11);

System.out.println(r1.nextDouble());

System.out.println(r2.nextDouble());

相同的种子 在相同的时间 和次数产生的随机数是一样的。

nextInt()

nextDouble()

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【图文解析 】Java中的Liu、继承、组合 的相关文章

随机推荐

  • (附源码)springboot高校宿舍交电费系统 毕业设计031552

    Springboot高校宿舍交电费系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化 电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用 信息时代的到来已成为不可阻挡的时尚潮流 人类发展的历史正进入一个新时代
  • 关于Python爬虫Scrapy在高并发下DNS查找失败解决方案

    使用场景 检测80w URL 可否打开 配置 高端配置 20 进程 500 CONCURRENT REQUESTS 运行一段时间后会有DNSLookup什么的错误 也就是查找超时 但是在浏览器里可以打开这个网页 首先做一些可能的无用功 爬虫
  • LeetCode——剑指 Offer 39. 数组中出现次数超过一半的数字

    剑指 Offer 39 数组中出现次数超过一半的数字 题目 数组中有一个数字出现的次数超过数组长度的一半 请找出这个数字 你可以假设数组是非空的 并且给定的数组总是存在多数元素 示例 1 输入 1 2 3 2 2 2 5 4 2 输出 2
  • Ajax简要分析使用

    先抛出一般结构 ajax type get url Stu Servlet data type select student id stu id message p success function data alert data 当然是j
  • Ubuntu22.04使用中文输入法

    安装的时候选择了英文安装 之后切换到中文 忘记还要写中文注释 发现在语言设置里不能添加输入法 仔细找了以下发现输入法的设置改到了键盘设置里 网络上查到的大部分都是老版本的ubuntu 这个是2204版本 输入法设置位置不同
  • 闪回事务查询+闪回事务查询案例

    闪回事务查询 1闪回事务查询是闪回版本查询的一个扩充 2闪回事务查询可以审计某个事务或者撤销一个已经提交的事务 闪回事务查询案例 测试数据 create table sct4 id number 4 name varchar2 20 ins
  • uos,qt,linuxdeployqt,qt-installer-framework, 生成安装包的记录

    注 使用源码生成安装包的环境要求 已安装QT v5 5 24 DTK QTcreator linuxdeployqt qt installer framework v5 9 的UOS v20 1 打开QTcreator 新建项目 2 选择侧
  • python随机生成验证码,数字+大小写字母

    ASCII码的对照链接 大写字母的十进制范围是 65 91 小写字母的十进制范围是 97 123 数字的十进制范围是 48 58 思路 1 先在空链表中添加大小写字母和数字 2 从列表中随机选择四个验证码 3 将列表转化成字符串输出 代码如
  • python 进行排序的两种方式 sort和sorted

    方法1 用List的成员函数sort进行排序 方法2 用内建函数sorted进行排序 sort函数定义 sort cmp None key None reverse False sorted函数定义 sorted iterable cmp
  • Cannot invoke “String.equalsIgnoreCase(String)“ because “code“ is null

    问题 同时开启多个项目 端口号不一致导致项目前后端错乱匹配 解决办法 后端 ruoyi admin下的application yml中的port 端口号 前端 vue config js里的port 端口号修改一致
  • cpp 解析HTML之 htmlcxx

    html与xml格式上比较相似 但xml不并一定能支持html的解析 这里介绍一个c 解析html的开源项目 htmlcxx 一 代码示例 1 项目源码下载之后 使用vs打开即可 默认为生成 lib静态库及MTd模式 可以在属性中修改指定为
  • httprunner测试框架3--har2case录制脚本

    har2case录制脚本 录制脚本 只是一个过渡 可以将录制的 har脚本快速转化成httprunner脚本文件 不能依靠录制 har2case可以将 har文件转化成yaml格式或者json格式的httprunner的脚本 可以借助fid
  • java代码kafka初始化producer和consumer

    目录 一 初始化producer对象 序列化消息 生产者发送消息的三种方式 kafka生产者其它详细知识 二 初始化consumer对象 反序列化消息 consumer取消订阅的方式consumer unsubscribe 使用自定义的序列
  • 回溯法解决地图填色问题

    目录 回溯法 最大度优先 最少可选颜色优先 向前探测 随机产生不同规模的图 分析算法效率与图规模的关系 四色 回溯法 回溯法的基本思想是采用递归和深度优先搜索的方法 尝试在一组可能的解中搜索出符合要求的解 在搜索过程中 若发现当前所选的方案
  • 颜色值不透明度对应表(0%-100%)

    不透明度 ps 可以理解为alpha 0 1的值
  • 腾讯大佬告诉你,写Python到底用什么IDE合适

    不管你是 Python 新手还是老鸟 肯定纠结过一个问题 到底用什么编辑器写 Python 代码好 为此 我们调查了数十位鹅厂程序猿们爱用的 Python IDE 从他们对每款编辑器的看法中 也许能给你一点启示 入门Python其实很容易
  • lzma sdk文件压缩与解压

    最新版的lzma sdk可以去SourceForge上面获取 具体地址为点击打开链接 7z官网点击打开链接 英文版 点击打开链接 中文版 我用lzma sdk主要是为了用来压缩和解压文件用的 其实适当的用法可以用来制作安装包 因为安装包也是
  • 在Linux的Ubuntu系统下安装QT及相关环境配置

    安装QT 从官网下载QT的安装包 在本地安装 本次使用的是Ubuntu18 06以及QT5 14 2 下文皆使用此版本作为示例 首先安装QT 具体操作如下 1 使用cd命令 cd home usr download 切换至安装包所在的目录下
  • Proteus仿真时数码管不能动态显示的问题及解决方法

    今天做Proteus仿真时遇到了数码管不能动态显示的问题 我的程序是用单片机P1口控制数码管段选 P2口低四位控制数码管位选 数码管1ms显示一位 全部刷新需要4ms 正常情况下人眼是感受不到这个速度下数码管的刷新过程的 所以他应该是这个样
  • 【图文解析 】Java中的Liu、继承、组合

    Alt Shift s 快捷键