首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

java的几种关系详解(有代码、有图)

Java中继承关系通过关键字extends明确标识,在设计时一般没有争议性。在UML图设计中,继承用一条带空心三角箭头的实线表示,从子类指向父,或者子接口指向父接口。...例如,蛇是父,眼镜蛇继承蛇,下面看uml图和代码 代码: class Snake{ void sleep(){} } class GlassSnake extends Snake{} 2、实现(...在Java中此类关系通过关键字implements明确标识,在设计时一般没有争议性。在UML图设计中,实现用一条带空心三角箭头的虚线表示,从指向实现的接口。...例如,人和电脑的关系,人没必要一定要有电脑,但是比如人在写代码的时候就需要用电脑,这是一种偶然性的,一般来说B作为参数被A在某个method方法中使用。...表现在代码层面,为被关联B以的属性形式出现在关联A中,也可能是关联A引用了一个类型为被关联B的全局变量。

63220

Java class文件和加载器详解以及代码优化

初始化(调用方法) 初始化是加载过程的最后一步,到了此阶段,才真正开始执行中定义的Java程序代码(初始化成为代码设定的默认值)。...其实初始化过程就是调用初始化方法的过程,完成对static有修饰的变最的手动赋值还有主动调用静态代码块。...如果一个或接口中没有静态代码块,也没有静态成员变量的赋值操作,那么编译器就不会为此类生成方法. 接口也需要通过方法为接口中定义的静态成员变量显示初始化。...名称 加载哪的 说明 BootStrap ClassLoader(启动加载器) JAVA_HOME/jre/lib 无法直接访问(C++代码书写的) Extension ClassLoader(扩展加载器...不要创建一些不使用的对象,不要导入一些不使用的 这毫无意义,如果代码中出现"The value of the local variable i is not used"、“The import java.util

1K30

Java代码实体生成SQL语句(Java实体转数据库)

有的时候把数据库删了,如果照着实体重新创建数据库的话比较麻烦,可以使用这个工具,把代码复制到项目里面设置一下即可把Java代码中的实体转换为SQL语句输出为一个文件,打开执行命令即可。...下载:https://download.csdn.net/download/weixin_44893902/20367422 代码如下: package Main; import javax.xml.bind.annotation.XmlElement...; import java.io.*; import java.lang.annotation.Annotation; import java.lang.reflect.Field; public class...GenerateSqlFromEntityUtil { public static void main(String[] a) { // 实体的位置 Class klass...void generateTableSql(Class obj, String outputPath, String tableName) { // tableName 如果是 null,就用名做表名

3.8K10

Java的静态代码块、构造代码块、构造方法、普通代码

前言 Java中静态代码块、构造代码块、构造方法、普通代码块的执行顺序是一个比较常见的笔试题,合理利用其执行顺序也能方便实现项目中的某些功能需求 。...静态代码块 a.定义格式 在Java(静态代码块不能定义在方法中)中,通过static关键字和{}声明的代码块: public class Person { static{...d.静态代码块不能访问普通成员变量,只能访问静态成员变量 构造代码块 a.定义格式 在Java中通过{}声明的代码块: public class Person { static{...图1-1 代码清单1-1运行结果 父和子类执行顺序   首先执行父静态的内容,父静态的内容执行完毕后,接着去执行子类的静态的内容,当子类的静态内容执行完毕之后,再去看父有没有构造代码块,如果有就执行父的构造代码块...,父的构造代码块执行完毕,接着执行父的构造方法;父的构造方法执行完毕之后,它接着去看子类有没有构造代码块,如果有就执行子类的构造代码块。

3.4K10

java实用工具——使用java代码实现ftp上传下载工具

一、引言 小编最近忙着学习项目构架上的一些技术,把实用的工具整理下,单独放在一个项目。其他项目需要用直接使用maven依赖一下就可以使用了。项目中需要实现上传多张图片,由于多张图片,又担心并发量大。...二、实现 以下ftp的工具,前提需要保证你的ftp服务器能够使用ftp客户端连接工具进行上传和下载文件,不然可能会由于种种原因导致上传或下载失败。 小编项目亲测可用的哟!! 先引入jar包 <!...org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; import org.apache.commons.net.ftp.FTPReply; import java.io....*; /** * ftp上传下载工具 * Title: FtpUtil * @version 1.0 */ public class FtpUtil { /** *

1.9K20

Java基础-day09-代码题-对象;;封装

Java基础-day09-代码题-对象&&封装 一、定义一个空调类和对应的测试 该题考查点:属性和方法的使用!...二、定义一个学生和对应的测试 该题考查点:this关键字的使用!...代码实现: package StudentJavaSEday09; /* * 学生: * 属性: * 姓名 * 年龄 * 方法: * 自我介绍 * 比较年龄差值 * getXxx...三、定义一个商品类和对应测试 要求: 1、定义商品类,有名称和价格两个属性,并且将属性私有化,提供公有的getXxx与setXxx方法对属性赋值和取值;设置有参无参构造方法 2、编写测试,在测试中通过构造分别创建...if (0 < grade && grade <= 60) { return 'C'; } return 0; } } package StudentJavaSEday09; import java.util.ArrayList

1.1K60

OpenJDK 阅读源代码 Java 实现字节流输入

大家好,又见面了,我是全栈君 Java 的输入输出总是给人一种非常混乱的感觉。要想把这个问题搞清楚。必须对各种与输入输出相关的之间的关系有所了解。 仅仅有你了解了他们之间的关系。...知道设计这个的目的是什么。才干更从容的使用他们。 我们先对 Java I/O 的整体结构进行一个总结,再通过分析源码,给出把每一个的关键功能是怎样实现的。...Java I/O 的主要结构 Java 的输入输出,主要分为下面几个部分: 字节流 字符流 新 I/O 每一个部分,都包括了输入和输出两部分。...依据导航中的链接,进入 java.io ,就可以看到对每一个的分析。...字节流输入 图1 Java 字节输入 InputStream InputStream 是全部字节输入的基,它有一个未实现的 read 方法。

56720

Java —— 包装(Wrapper

参考链接: Java包装器Wrapper 【概述】  由于 Java 中的八种基本数据类型不面向对象,为了使用方便,为每个基本数据类型设计了一个对应的,这样八种基本数据类型对应的统称为包装(Wrapper...Class),均位于 java.lang 包中。 ...:  作为基本数据类型对应的类型存在,方便涉及到对象的操作包含每种基本数据类型的相关属性(最大值、最小值等)以及相关的操作方法 【Number 】  抽象 Number 是 BigDecimal、...  Integer 、Long 、Short 、Byte 都是对整数进行操作,包含的方法基本相同,区别只是表示的范围不同,以下以 Integer 介绍整数包装。 ...  Double 、Float 都是对小数进行操作,包含的方法基本相同,区别只是表示的范围不同,以下以 Double 介绍小数包装

2.5K10

Java基础-day10-代码题-继承&抽象

Java基础-day10-代码题-继承&抽象 1.门类继承题: 编写代码,实现如下功能: (1)定义一个门类, 包含3个属性:宽度width 和 高度height ,颜色color 包含2个方法:...(3)定义一个测试,测试定义一个main方法 分别创建 门对象 和 木头门对象, 为创建的木头门对象属性赋值, 调用开门和关门两个方法。 ? ? ?...代码实现: package StudentJavaSEday10; class Door { // 定义属性 private double width; private double hight;...,内容为:“猫吃鱼...” 3、定义狗,继承动物类,重写父中的吃饭方法,内容为:“狗吃骨头...” 4、定义测试,分别创建猫对象和狗对象,并分别给父对象中的名称和年龄属性赋值; 5、分别使用猫对象和狗对象获取名称和年龄的属性值并打印在控制台上...代码实现: package StudentJavaSEday10; /* * 动物类: * 属性: * 名称 * 年龄 * 方法: * 吃饭方法 * getXxx与setXxx

1.2K60

自定义加载器和动态加载 Java 代码

有时候,我们需要 java 像脚本一样的运行,甚至是希望我们的代码是热部署,一旦代码文件发生变动就重新加载这个代码,能实现吗?今天就来试着解决下。 ?...自定义加载器 我们需要一个自定义的加载器,完成任何路径包括网络的文件加载,这个是取得 java 字节码文件,也就是编译后的 class 文件,他可能在世界的某个角落。...实现自定义的加载器首先是继承ClassLoader这个,来看下构造方法代码 public class MyClassLoad extends ClassLoader { private String...,如果需要实现自己加密解密的可以在字节数组里面进行折腾,这里不再深入,我们的目标是热加载一段 java代码,可能的解决方法是,构建一个 java 模板,里面内置一些方法,外界可以增加一些新的方法,也可以调用内置方法...开始一个简单的,把一段代码加载到内存并且执行吧。

1K30

java日期(二)TimeZone,Calender

目录 TimeZone(时区) TimeZone对象 getDefault() 获取本地的时区对象 getAvailableIDs() 获取全世界的时区id getAvailableIDs(int...rawOffset) 根据偏移量获取时区id getTimeZone(String ID) getDisplayName() getID() 获取到当前的时区id Calender 概念 calender...对象里面有什么 从源码里面学习这个Calender setTime() get() add(int field, int amount) TimeZone(时区) 每一个地区都有时区id ,就是国际上面认定的时区...getDisplayName() 也就是展示 时区 名称 getID() 获取到当前的时区id Calender 概念 calender对象里面有什么 这个对象里面的东西如下: java.util.GregorianCalendar...setTime() 我们前端传过来的时间是字符串类型,我们要对这个时间进行操作,那么就可以转为Calender 这个对象,进行操作,因为这个里面的方法是很多的,可以对时间进行各种各样的操作。

1.5K30

Java的String中提到的代码点,代码单元到底是什么?

比如汉子“汉”的unicode,在java中输出 System.out.println("\u5B57"); UTF-8 unicode在计算机中如何存储呢,就是用unicode字符集转换格式,即我们常见的...10xxxxxx 000800-00FFFF 1110xxxx 10xxxxxx 10xxxxxx 010000-10FFFF 11110xxx10xxxxxx10xxxxxx10xxxxxx Java...java中想知道一个字符的unicode编码我们可以通过Integer.toHexString()方法 String str = "编"; StringBuffer sb = new StringBuffer...bc 96,占3个字节 codepoint unicode的范围从000000 - 10FFFF,char的范围只能是在\u0000到\uffff,也就是标准的 2 字节形式通常称作 UCS-2,在Java...中,char类型用UTF-16编码描述一个代码单元,但unicode大于0x10000的部分如何用char表示呢,比如一些emoji:

24010
领券