E-R图: E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。...即由一些基本的框组成一个大的框,这种流程图又称为N-S结构流程图(以两个人的名字的头一个字母组成,美国学者I.Nassi 和 B.Shneiderman)。...N-S图包括顺序、选择和循环三种基本结构。 NS图几乎是流程图的同构,任何的NS图都可以转换为流程图,而大部分的流程图也可以转换为NS图。...程序框图的设计是在处理流程图的基础上,通过对输入输出数据和处理过程的详细分析,将计算机的主要运行步骤和内容标识出来。程序框图是进行程序设计的最基本依据。...最为熟悉的一种图 —————————————————————————————————————— 刷题遇到E-R图等,搜索总结一下。 以上总结图片来自百度词条。
类(Class)的概念类可以看作是一种“蓝图”,它是一种将数据(属性)和操作这些数据的方法(函数)封装在一起的结构。就像建筑师使用蓝图来建造房屋一样,程序员使用类来创建对象。...例如,我们可以定义一个Human类,它有眼睛、耳朵、鼻子和嘴巴等属性。通过这个类,我们可以创建具体的人类对象,如oxxo,这个对象将具有类定义的所有属性。...创建类创建类的方式类似于创建一个函数,差别在于函数使用 def 开头,而类使用 class 开头,下面的代码会创建一个“空”的类 Human(很像一个人在最开始只是一个细胞,身上什么器官都还没长出来):...__init__默认带有self一个参数,代表通过类创建的对象本体,使用.属性就能将指定的属性加入类中。 __init__可以不用写,但如果需要有一些默认的属性,就可以定义在里面。...,下面的例子给 Human 类定义了 say 和 play 两个方法。
接口(Interface)和抽象类(Abstract Class)是面向对象编程中的两个重要概念,它们都用于实现抽象和多态。尽管它们有一些相似之处,但也有明显的区别。...以下是接口和抽象类的主要区别:1. 定义方式接口:使用 interface 关键字定义。抽象类:使用 abstract 关键字定义。2....抽象类:可以有构造器,但不能实例化,只能被子类调用。5. 用途接口:主要用于定义一组行为规范,适用于多个不相关的类需要实现相同的行为。...抽象类:主要用于提供一个基类,包含一些通用的方法和属性,适用于具有共同特性的类。...抽象类 更适合用于提供基类的实现,包含通用的方法和属性。
、参数)、返回类型的default方法后,需要在类中重写default方法,否则编译器会因为不知道应该调用哪一个接口中的default方法而报错 再定义一个InterfaceB接口,和InterfaceA...is InterfaceB"; } } ImplClass同时实现InterfaceA和InterfaceB,这时编译器会报错: 重写接口中default方法后,编译器会执行重写后的方法:...void main(String[] args) { System.out.println(new ImplClass().f()); } } 结果: 如果一个类同时继承的父类和实现的接口拥有相同签名...、返回类型时,当该类未重写方法,直接调用时,将会调用父类中的方法: 再定义一个父类FatherC,拥有和InterfaceA同签名、返回类型的方法f() public class FatherC {...,所以现在接口和抽象类的区别有: 虽然接口和抽象类都不能被实例化,但是抽象类可以有构造器,接口没有构造器 抽象类单继承(只能继承一个类),接口多继承(能继承多个接口) 抽象类中方法可以有public、protected
接口的方法默认是 public,所有方法在接口中不能有实现(Java 8 开始 接口方法可以有默认实现),抽象类可以有非抽象的方法 接口中的实例变量默认是 final 类型的,而抽象类中则不一定...一个类可以实现多个接口,但最多只能实现一个抽象类10 一个类实现接口的话要实现接口的所有方法,而抽象类不一定 接口不能用 new 实例化,但可以声明,但是必须引用一个实现该接口 的对象...从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的 抽象,是一种行为的规范。...实 现类和实现是不可以调用的。如果同时实现两个接口,接口中定义了一样的默认 方法,必须重写,不然会报错。
在java中,通常初学者搞不懂接口与抽象类,这也是面试比较容易问到的一个问题。下面我来谈谈自己的理解。如有不妥之处,还望批评指正,不胜感激。 1.抽象类怎么定义和继承? 2.接口怎么定义和实现?...3.总结与对比 1.抽象类怎么定义和继承?...: 抽象类不能被实例化,比如: 子类可以实现抽象类的方法,也可以不实现,也可以只实现一部分,这样跑起来都是没有问题的,不实现的话,调用是默认使用抽象类的空实现,也就是什么都没有输出,要是抽象类有实现...比如: 抽象类中可以有具体的方法以及属性(成员变量) 抽象类和普通类之间有很多相同的地方,比如他们都可以都静态成员与静态代码块等等。 2.接口怎么定义和实现?...接口不能有main方法,接口不能有构造器 那么我们什么时候使用接口什么时候使用抽象类呢?
接口中的方法默认都是 public,所有方法在接口中不能有默认实现(Java8 开始接口方法可以有默认实现),而抽象类可以有非抽象的普通方法; 接口中除了 static、final 变量,不能有其他变量...,而抽象类中则不一定; 一个类可以实现多个接口,但只能继承一个抽象类,接口本身可以通过 extends 关键字扩展多个接口; 接口方法的默认修饰符是 public,抽象方法中则可以有 public、protected...和 default 这些修饰符(抽象方法就是为了被重写,所以不能使用private关键字修饰); 从设计层面来说,抽象类是对类的抽象,是一种模板设计,而接口是对行为的抽象,是一种行为的规范。
React 中的类组件和函数组件是两种不同的组件编写方式,它们之间有一些区别。...语法和写法:类组件是使用类的语法进行定义的,它继承自 React.Component 类,并且需要实现 render() 方法来返回组件的 JSX。...,可以使用 state 属性来存储和管理组件的内部状态。...) => { console.log('Component updated'); }); return Hello, {props.name}; } 总的来说,类组件和函数组件都可以实现相同的功能...,但随着 React 的发展,函数组件在代码简洁性、可测试性和性能方面具有一些优势,并且在使用 Hooks 后,函数组件可以更方便地处理状态和副作用。
CSS是用来布局和格式化网页和其他媒体的语言。它是 Web 的三种主要语言之一,与HTML(用于结构)和JavaScript(用于行为)并列。...每一年,我们都看到CSS的规模在增长,2022年也不例外。 今天,我们来看一上,2022 最受欢迎的 CSS 类名和 ID 分别是什么。 2020年和2021年,网络上最流行的类名是 active。...Font Awesome 的fa、fa-*前缀仍然排在第二和第三。然而,wp-*类名称在排名中悄然上升,升至第四位。它们现在出现在31%的页面上,2021年时为20%。...我们还看到诸如 has-large-font-size 这样的类名出现了,这些是在新的 WordPress 块状编辑器中使用的。...content 这个名字再次成为最受欢迎的 ID名称,其次是 footer,和 header。以 fb_开头的ID表示使用了Facebook的小工具。
大家好,又见面了,我是你们的朋友全栈君 在严格的泛型代码里,带泛型声明的类总应该带着类型参数。但为了与老的Java代码保持一致,也允许在使用带泛型声明的类时不指定实际的类型。...如果没有为这个泛型类指定实际的类型,此时被称作raw type(原始类型),默认是声明该泛型形参时指定的第一个上限类型。...当把一个具有泛型信息的对象赋给另一个没有泛型信息的变量时,所有在尖括号之间的类型信息都将被扔掉。...比如一个 List 类型被转换为List,则该List对集合元素的类型检查变成了泛型参数的上限(即Object)。...对泛型而言,可以直接把一个List对象赋给一个 List 对象,编译器仅仅提示“未经检查的转换”。
对象是 Java 程序运行的核心,而 JVM 的对象管理机制直接影响程序的运行效率和内存管理能力。...在 Java 中,对象的创建过程离不开类的加载与初始化,因此理解类加载的原理和对象的内存布局,是掌握 JVM 性能优化的关键。...在加载阶段中 Java 虚拟机主要完成以下三件事情: ① 通过一个类的全限定名称来获取定义此类的二进制字节流。 ② 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构。...③ 在内存中生成一个代表这个类的 java.lang.Class 对象,作为方法区中这个类的各种数据的访问入口。...目录下的 /jre/lib 文件夹下的 jar 和配置。
,当我们不确定什么数据类型的时候,就可以使用泛型; 好处: 1、避免了类型转换的麻烦,存储的是什么类型。...取出的就是什么类型; 2、把运行期异常,提升到了编译期; 弊端: 泛型是什么类型,只能存储什么类型; 1、含有泛型的类 public class PersonE>{ private E name...extends E 代表的使用泛型只能是E类型的子类/本身; 泛型的下线限定: ?...super E 代表的是泛型只能是E类型的父类/本身; 代码: public static void main(String[] args) { CollectionE 代表的事泛型只能是E类型的父类/本身 public static void getE2(Collection coll){}
反射 在程序运行时,可以动态地创建对象、调用方法、访问和修改字段,以及获取类的各种属性信息(如成员变量、方法、构造函数等),这种机制就称为反射 类名 用途 Class类 代表类的实体,在运行的Java...应用程序中表示类和接口 Field类 代表类的成员变量 / 类的属性 Method类 代表类的方法 Constructor类 代表类的构造方法 1.1 反射获取Class对象 获取字节码文件对象 1...只会获取类中的公共的构造方法 可以看出,使用getDeclaredConstructors()时,不论构造方法的权限修饰符是什么,都可以获取到 来看获取单个构造方法的例子,在调用方法的时候,传入方法里面的参数要和需要获取的构造方法的参数一致...枚举 枚举是一种特殊的类,枚举中的每个元素都是该类的一个唯一实例,主要用途是把一组常量组织起来 在之前我们定义常量的时候是这样定义的: public static final int RED = 1;...(enumDemo1s[i] + " " + enumDemo1s[i].ordinal()); } //根据字符串返回类中的实例 EnumDemo1 res
前言 用 WebGL 渲染的 3D 机房现在也不是什么新鲜事儿了,这篇文章的主要目的是说明一下,3D 机房中的 eye 和 center 的问题,刚好在项目中用上了,好生思考了一番,最终觉得这个例子最符合我的要求...函数创建的(注意,创建的类名 Editor.Server 前面的 Editor 不能用 E 来替代): ht.Default.def('Editor.Server', Object, {//第一个参数为类名...,如果为字符串,自动注册到HT的classMap中;第二个参数为此类要继承的父类;第三个参数为方法和变量的声明 addToDataModel: function(dm) { //将节点添加进数据容器...这个类可以创建一个 ht.Node 节点,并设置节点的颜色和前面贴图: var S = E.Server = function(obj) {//服务器组件 var color = obj.color...这个类相对于前面的 Editor.Server 服务器组件类要相对复杂一点,这个类中创建了一个柜身、柜门以及机柜内部的服务器组件: var C = E.Cabinet = function(obj) {
throw, try, catch, finally分别代表什么意义 9、Java 有几种修饰符?...6、short s1 = 1; s1 = s1 + 1;有什么错?...集合类框架的基本接口有哪些 2、Collections类是什么?Collection 和 Collections的区别?...为什么 生命周期 1、有哪些不同的线程生命周期 2、线程状态,BLOCKED 和 WAITING 有什么区别 3、画一个线程的生命周期状态图 4、ThreadLocal 用途是什么,原理是什么,用的时候要注意什么...接口有什么优点 泛型 1、泛型的存在是用来解决什么问题 2、泛型的常用特点 3、List能否转为List 工具类 日历 1、Calendar Class的用途 2、如何在Java中获取日历类的实例 3、
显然,这并不会造成什么世界观的崩塌,其实类在jvm里并不仅是通过类名来限定的,他还属于加载他的ClassLoader。由不同ClassLoader加载的类其实是互不影响的。 做一个实验。...我们先分别编译,然后把生成的class文件重命名为Hello.class.1和Hello.class.2。 我们的目的是希望能在测试类里分别创建这两个类的实例。...(s); } } }; 这两个ClassLoader的用途就是分别关联Hello类的两种不同字节码,我们需要读取字节码文件并通过defineClass方法加载成...两个类的关系是什么 显然这两个类并不是同一个类,但是他们的名字一样,那么类似isinstance of之类的操作符结果是什么样的呢: System.out.println("class:...这两个类加载器跟系统的三层类加载器是什么关系 以第一个自定义的类加载器为例: System.out.println(classLoader1.getParent().getParent().getParent
Java 中的泛型带来了什么好处?规约。就像接口定义一样,可以帮助对于泛型类型和对象的使用上,保证类型的正确性。...泛型擦除 Java 的泛型在编译阶段实际上就已经被擦除了(这也是它和 C#泛型最本质的区别),也就是说,对于使用泛型的定义,对于编译执行的过程,并没有任何的帮助(有谁能告诉我为什么按着泛型擦除来设计?)...T[] toArray(T[] a); } 事实上,这个方法泛型 T 表示的是任意类型,它可是和此例中的接口/类泛型 E 毫不相干啊。...如果没有这个 T[ ] a 参数的话,光光定义一个方法泛型 是没有任何意义的,因为这个 T 是什么类型完全是无法预料的,例如: public class Builder { public E>...> 表示这个 list 内的每个元素的类型都相同,但是这种类型具体是什么我们却不知道。注意,List<?
+\s(.+)]),我们可以提取当前可执行文件里所有objc类方法和实例方法(SelectorsAll)。...)来自iOS微信安装包瘦身 上面那些话看起来简简单单的,但是笔者操作起来确遇到了很多困难,首先otool是什么?...原理 首先来看Mach-O是什么,Mach-O是Mach Object文件格式的缩写,是一种记录可执行文件、对象代码、共享库、动态加载代码和内存转储的文件格式。...__objc_selrefs TestClass > selrefs.txt 查看c语言字符串 otool -v -s __TEXT __cstring TestClass 到这里为止,otool是什么...,__objc_selrefs) section Contents of (__DATA_CONST,__objc_imageinfo) section 结合下面的表格来看,就能知道每个section代表的含义是什么了
主要用途:桌面程序、控制台开发等。 Java EE(Java EE,Java 2 Platform Enterprise Edition)Java企业版。主要用途:Web端、服务器开发等。...int和Integer有什么区别? int是基本数据类型,默认值是0。 Integer是引用类型,是int的包装类,默认值是null。 怎么理解自动拆箱,自动装箱?...两个对象的hashCode()返回值相等不能判断这两个对象是相等的,但两个对象的hashcode()返回值不相等则可以判定两个对象一定不相等。 抽象类和接口的区别是什么?...静态变量无法访问非静态变量 非静态变量可以访问静态变量 值传递和引用传递的区别是什么?...在方法的执行过程中,形参和实参的内容相同,指向同一块内存地址,也就是说操作的其实都是源数据,所以方法的执行将会影响到实际对象。 什么是反射?
抽象(Abstraction)和多态(Polymorphism)是实现这一原则的主要机制,而继承(Inheritance)则是实现抽象和多态的主要方法。 那么是什么设计规则在保证对继承的使用呢?...优秀的继承层级设计都有哪些特征呢?是什么在诱使我们构建了不符合开放封闭原则的层级结构呢?这些就是本篇文章将要回答的问题。...换句话讲,如果一种新的对象与一种已有对象满足 is-a 的关系,那么新的对象的类应该是从已有对象的类继承来的。 很明显一个正方形是一个长方形,可以满足所有常规的目的和用途。...为什么看起来很合理的 Square 和 Rectangle模型变坏了呢?难道说一个 Square 是一个 Rectangle 不对吗?is-a 的关系不存在吗? 不!...而且,衍生类必须符合基类中所定义的后置条件。也就是说,它们的行为和输出不能违背任何已经与基类建立的限制。基类的客户类绝不能对衍生类的输出产生任何疑惑。
领取专属 10元无门槛券
手把手带您无忧上云