Java
pissjello
这个作者很懒,什么都没留下…
展开
-
Java 泛型程序设计
1 定义泛型类和泛型方法1.1 泛型类一个泛型类(generic class)即具有一个或多个类型变量的类,在类名后面引入一个<>括起来的类型变量列表后,就可以将类中方法的返回类型、域或局部变量的类型指定为<>中的类型变量。public class Pair<T,U>{ private T first; private U second; public Pair(T fisrt, U second) {this.first = first; this.se原创 2020-11-10 17:17:41 · 330 阅读 · 0 评论 -
Java 处理错误与捕获异常
1 异常的分类所有的异常都派生于Throwable类,然后分成两个分支:Error和Excpetion。Error类层次结构描述Java运行时系统的内部错误和资源耗尽错误。这种情况一般很少出现,应用程序也不用抛出这种类型的对象,出现了这种错误时,一般通告用户并安全终止程序即可。Exception类是主要需要关注的,分为两个分支:RuntimeException、IOException。由程序错误导致的异常属于RuntimeException,一般包含:错误的类型转换数组访问越界访问null原创 2020-10-22 14:42:50 · 670 阅读 · 0 评论 -
Java 动态代理的原理和特性
1 代理模式的作用代理模式的作用主要在于在于生成代理对象,在服务提供方和使用方之间充当一个媒介,控制真实对象的访问。假定目前项目实现了成百上千个类,实现了不同类型的功能,现在需要在实现每个功能的基础上,打印出功能的详细信息,比如方法名、功能、参数等,不使用代理技术,就需要一个一个修改成百上千个类,而且当又不需要打印额外信息时,又需要修改源代码。2 静态代理静态代理的做法是为每个类编写一个对应的代理类,让他们实现同一个接口,接口中定义了要实现的函数。静态代理模式在不改变目标对象的前提下,实现了对目原创 2020-10-21 14:27:03 · 397 阅读 · 0 评论 -
Java 内部类的原理和作用
内部类(inner class)是定义在另一个类中的类,一般有三个特点:内部类可访问该类定义所在作用域中的数据,包括私有数据内部类可以对同一个包的其他类隐藏起来定义一个回调函数且不想编写大量代码时,可通过匿名内部类实现1 内部类如何访问对象状态public class TalkingClock{ private int interval; private boolean beep; public TalkingClock(int interval,boolean beep) {...}原创 2020-10-21 11:00:40 · 275 阅读 · 1 评论 -
Java lambda表达式相关知识
Java 8引入了的一个重要特性就是lambda表示,它使得再Java中可以将函数作为参数来使用,极大增加了代码的紧凑性。1 lambda表达式1.1 语法基本结构表示为:(parameters) -> {statements;}但是使用起来可以更加的灵活,比如:可以不传入任何参数() -> { return 2020;}可以没有返回值(String s) -> {System.out.println(s);}只有一个参数时,可以去掉圆括号int x原创 2020-10-16 15:27:26 · 237 阅读 · 0 评论 -
Java 对象克隆、Cloneable接口
Cloneable接口的作用与深入理解深度克隆与浅度克隆转载 2020-10-16 12:58:17 · 163 阅读 · 0 评论 -
Java Comparable接口和Comparator接口
1 排序接口Comparable当某个类实现了Comparable接口,意味着该类的对象是可以按照某种规则排序的,Comparable接口定义了compareTo方法:class Employee implements Comparable<Employee>{ @Override public int compareTo(Employee other) { if (salary == other.salary) return 0; return salary <原创 2020-10-16 12:39:23 · 165 阅读 · 0 评论 -
Java 回调(Callback)机制与接口
1 Java程序调用的方式程序设计过程中很多情况下会涉及到不同模块之间相互调用,这种调用往往分为三种方式进行:同步调用异步调用回调1.1 同步调用同步调用是一种阻塞式单向调用,也是普通程序中最常见的调用方式,假设A函数中部分功能需要由B函数实现,在A函数的某个地方调用了B函数,那么就需要等待B函数执行完毕后,才能继续执行A函数。这种调用方式仅适用于B函数执行时间不长的情况,若B函数出现了长时间阻塞的情况,就会导致整个程序的阻塞。1.2 异步调用异步调用是一种类似于消息或事件的机制,是为原创 2020-10-16 11:39:08 · 885 阅读 · 0 评论 -
Java 接口中的一些知识
接口中不能含有实例域(方法、变量)接口中所有的方法属于public,声明时不用提供关键字public接口中的域自动设置为public static final使用instance关键字可以检查一个对象是否实现了某个特定的接口每个类只能有一个超类,但是可以实现多个接口(Java通过接口实现了“多重继承”)接口中允许增加静态方法接口中用default修饰符标记的方法可以提供一个默认实现,这样做的好处时,当实现这个接口的类不需要这个方法的功能时,可以不用重新实现它。默认方法可能会产生冲突,为此Ja.原创 2020-10-15 19:02:01 · 170 阅读 · 0 评论 -
Java 继承中的一些重点知识
Java中所有继承都是公有继承继承关系的一个明显特征是"is a"关系子类中通过super关键字调用超类的成员当一个类中没有定义构造器,会生成一个默认无参构造器,否则不会⭐如果子类的构造器中没有通过super关键字显式调用超类构造器,将会自动调用超类的默认无参构造器,而如果超类中没有默认无参构造器,子类中又没有显式调用超类的其他构造器,将会产生编译错误。所以建议在编写子类构造器时,一律在开头加上super关键字调用超类的某一个构造器。⭐与C++采用虚拟方法实现多态不同,Java通过动态绑定(dy.原创 2020-10-15 15:45:57 · 161 阅读 · 0 评论 -
Java 类路径
Java中类存储在文件系统的子目录中,类的路径必须和包名匹配。类文件也可以存储在JAR文件中,JAR文件使用ZIP格式组织文件和子目录,例如jre/lib/rt.jar中包含了数千个类库文件。1 如何使你的类被多个程序共享把类放到一个包树状结构的目录中,例如在/home/user/classdir中添加com.horstmann.corejava.Emplyee类,应该把Employee类文件放在/home/user/classdir/com/horstmann/corejava中将JAR文件放在原创 2020-10-15 14:58:23 · 6262 阅读 · 0 评论 -
Java 关键字修饰符
1 访问控制修饰符Java提供了四种定义访问权限的访问控制修饰符,分别用来保护对类、成员变量、构造器、方法的访问:defalt : 即不带任何修饰符,只能被同一包的类访问public:所有类可以访问private : 只能被自己内部的成员访问protected : 自身内部成员、子类以及同一包的类可以访问其中private和protected不能用来修饰外部类,外部类上一层为包,故外部类一般具有两种访问权限:本包内访问、全局访问,对应default和public。1.1 继承中的访问控制原创 2020-10-15 14:20:11 · 516 阅读 · 0 评论 -
Java 更改器方法与访问器方法
只访问对象而不修改对象的方法称为访问器方法。访问对象并且能够改变对象状态的方法成为更改器方法。在设计类方法中,当设计到需要返回一个对象时,如果这个对象中包含有更改器方法,则不建议直接返回对象引用,因为这样在对这个返回对象进行操作时,同时也改变了原对象中成员变量的状态,这破坏了类的封装性。故,建议在返回一个可变数据域的拷贝时,使用clone函数,如class Employee{ ... public Date getHireDay() { return (Date) hireDay.c.原创 2020-10-15 13:35:44 · 2346 阅读 · 0 评论 -
Java Object类
Object类1、概述Object类是Java中所有类的超类,可以使用Object类型的变量来引用任何类型的对象。在Java中,只有基本类型不是对象,除此之外,所有的数组类型,不管是对象数组还是基本类型数组,都扩展了Object类。2、equals方法Object类中的equals方法用于检测一个对象是否等于另一个对象,这个方法将判断两个对象状态的相等性。由于任何类都继承自Object,而Object类中的equals方法仅仅用来判断两个对象是否具有相同的引用,所以在自定义类中,需要自己实现相应的e原创 2020-10-13 17:36:16 · 640 阅读 · 1 评论 -
Java反射机制及其作用
反射1、反射的基本概念反射库是一个提供了一系列丰富且精心设计的工具集,以便编写能够动态操纵Java代码的程序,能够分析类能力的程序称之为反射(reflection)。通过反射能够将Java类中各个部分映射成为一个个Java对象,比如构造器、成员变量、方法。2、反射的作用Ⅰ. 反射最重要的用途就是开发各种通用框架,反射机制能够具有在运行时分析类的能力、在运行时查看对象。Ⅱ. 反射的核心是JVM在运行时才动态加载类或调用方法/访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。Ⅲ. 当原创 2020-10-13 16:52:07 · 1693 阅读 · 0 评论 -
Java静态工厂方法(factory method)
https://www.jianshu.com/p/ceb5ec8f1174转载 2020-09-28 14:19:32 · 242 阅读 · 0 评论