java基础
文章平均质量分 55
abcwywht
这个作者很懒,什么都没留下…
展开
-
Java中static class使用方式
java允许在一个类里面定义静态类。如内部类(nested class)。在java中,不能用static修饰顶级类(top level class)。只有内部类可以为static。 静态内部类和非静态内部类之间区别:1. 内部静态类不需要有指向外部类的引用。但非静态内部类需要。2. 静态类只能访问外部类的静态成员,非静态内部类能够访问外部类的静态和非静态成员。3. 非静态内部类不能脱离外部类实体被创建,非静态内部类可以访问外部类的数据和方法,因为他就在外部类里面。/* 下面程.转载 2022-04-02 09:48:31 · 393 阅读 · 0 评论 -
Java动态代理InvocationHandler和Proxy
1、实例package reflect;public interface People { public String work();}定义一个Teacher类,实现People接口,这个类是真实的对象package reflect;public class Teacher implements People{ @Override public String work() { System.out.println("老师教书育人...")转载 2022-02-11 16:37:55 · 91 阅读 · 0 评论 -
JAVA中的native
native主要用于方法上1、一个native方法就是一个Java调用非Java代码的接口。一个native方法是指该方法的实现由非Java语言实现,比如用C或C++实现。2、在定义一个native方法时,并不提供实现体(比较像定义一个Java Interface),因为其实现体是由非Java语言在外面实现的主要是因为JAVA无法对操作系统底层进行操作,但是可以通过jni(java native interface)调用其他语言来实现底层的访问。作者:Chaop链接:https://ww转载 2020-12-06 11:04:07 · 73 阅读 · 0 评论 -
java compareTo()方法返回值
当作用于String的时候,返回值如下:1、原则:如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符串的长度.2、例子:String s1 = "abc";String s2 = "abcd";String s3 = "abcdfg";String s4 = "...原创 2017-05-24 17:01:43 · 9306 阅读 · 0 评论 -
Java Math的floor、ceil、rint及round方法
1、Math.floor()向下取整,即小于这个数的最大的那个整数:Math.floor(2.2) = 2.0;Math.floor(-2.2) = -3.0;Math.floor(2.5) = 2.0;Math.floor(-2.5) = -3.0;Math.floor(2.7) = 2.0;Math.floor(-2.7) = -3.0;2、Math.ceil()向...转载 2017-07-19 18:42:09 · 475 阅读 · 0 评论 -
Java中对象的深克隆和浅克隆
1.概念 ⑴浅复制(浅克隆) 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。 ⑵深复制(深克隆) 被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复制的对原创 2017-07-16 15:39:51 · 323 阅读 · 0 评论 -
java关键字transient
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient。 transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候...转载 2019-03-11 15:56:42 · 77 阅读 · 0 评论 -
java int数据的溢出
数据的溢出:当整数的数据大小超出了可以表示的范围,而程序中又没有做数值范围的检查时,这个整型变量所输出的值将发生紊乱,且不是预期的运行结果。01 // 整数值如果超出了自己所可以表示范围的最大值,会出现溢出02 public class TestJava3_403 {04 public static void main(String args[])05 {06...转载 2019-03-13 09:50:25 · 749 阅读 · 0 评论 -
MoreObjects类的使用
1、MoreObjects类的toStringHelper方法可以用于写类的toString方法。如果类的属性是个数组,可以对数组排序处理一下再输出,而eclipse自动生成的toString方法则没有该功能。出处:com.google.common.base.MoreObjects方法:MoreObjects.toStringHelper(this).add("",Object ).to...原创 2019-07-25 10:13:35 · 1438 阅读 · 0 评论 -
java中hashcode()方法和equals方法的区别
一、概要这2个方法都是用来判断2个对象是否相等的。但是他们是有区别的。一般来讲,equals这个方法是给用户调用的,如果想判断2个对象是否相等,可以重写equals方法,然后在代码中调用,就可以判断他们是否相等了。简单来讲,equals方法主要是用来判断从表面上看或者从内容上看,2个对象是不是相等。举个例子,有个学生类,属性只有姓名和性别,那么我们可以认为只要姓名和性别相等,那么就说这2个对...原创 2017-02-18 11:25:16 · 281 阅读 · 0 评论 -
RuntimeException
1、异常的类结构原创 2017-08-05 16:24:45 · 270 阅读 · 0 评论 -
java中DateTime类的使用
1、 获取当前系统时间:DateTime.now(); 返回的是一个DateTime对象。2、DateTime转换成Date(1)DateTime.now().toDate();(2)newDateTime("2014-10-29").toDate();(3)new DateTime("2014-10-2915:19:23").toDate();3、转换成字符串格式...原创 2017-05-11 10:40:21 · 1820 阅读 · 0 评论 -
String str="abc" 与 String str = new String("abc")的区别
1、java运行环境有一个字符串池,由String类维护。执行语句String str="abc"时:首先查看字符串池中是否存在字符串"abc",如果存在则直接将“abc”赋给str,如果不存在则先在 字符串池中新建一个字符串"abc",然后再将其赋给str.2、执行语句String str = new String("abc");时。不管字符串池中是否存在字符串“abc”,直接新建一个字符串“a...原创 2018-04-19 19:34:40 · 2394 阅读 · 0 评论 -
关于Collections.unmodifiableMap
Collections.unmodifiableMap返回的是一个不可修改的Map,这个不可修改的Map指的是Map中的对象地址不可修改,里面的对象若支持修改的话,其实也还是可以修改的。下面用一个例子说明:import java.util.Collections;import java.util.HashMap;import java.util.Map;public class Se...原创 2018-07-30 10:40:36 · 493 阅读 · 0 评论 -
java基础相关文章
Java8 Lambda表达式教程https://blog.csdn.net/ioriogami/article/details/12782141/ Java enum的用法详解 https://www.cnblogs.com/liaojie970/p/6474733.html java异常处理Throwable Error和Exception之间的区别 https://blog.c...原创 2019-03-01 09:05:49 · 220 阅读 · 0 评论 -
java中对象作为方法的入参
在java中,对象作为方法的入参时,如果传进去该对象已经new好了,那么可以在方法中为属性赋值。跳出方法后,赋值的属性会生效。但是,如果传进去的对象是null,在方法中才new ,为属性赋值等。这样,跳出方法后,对象还会是null。例子:public class WhtTest { public static void main( String[] args ) { ...原创 2017-08-23 13:57:39 · 3611 阅读 · 0 评论 -
关于java中的类的路径
1.当前工程路径System.getProperty("user.dir")相关文章:https://blog.csdn.net/chaofanwei/article/details/154983832. 当前类所在的classpath路径getClass().getResource( "" ).getFile()3.工程所有的classpath路径System.get...原创 2017-02-03 10:49:04 · 686 阅读 · 0 评论 -
try catch finally问题
1. try catch finally 执行顺序问题例如:class Test { public static void main( String args[] ) { System.out.println( Test.test() ); } public static String test() { try { ...原创 2016-11-19 15:09:06 · 334 阅读 · 0 评论 -
使用串行化来实现java对象的深克隆
1、介绍 为了避免重写比较复杂对象的clone()方法, 来实现深度克隆的目的。可以使用串行化的方式将对象读到流中然后再读出。 把对象写到流里的过程是串行化(Serilization)过程,应当指出的是,写在流里的是对象的一个拷贝,而原对象仍然存在于JVM里面。在Java语言里深复制一个对象,常常可以先使对象实现Serializable接口,然后把对象(实际上只是对象的一个拷贝)写到原创 2017-07-16 17:14:36 · 820 阅读 · 0 评论 -
List < String> 转成数组后是二维数组
List < String[] > 这样一个list 转成数组后是二维数组,示例代码如下:import java.util.ArrayList;import java.util.List;public class Test { public static void main( String[] args ) { String[] s1 = ...原创 2017-05-25 14:45:53 · 2193 阅读 · 0 评论 -
Java中final的用法总结
1、修饰基础数据成员 这是final的主要用途,即该成员被修饰为常量,意味着不可修改。如java.lang.Math类中的PI和E是final成员,其值为3.141592653589793和2.718281828459045。2、修饰类或对象的引用 在Java中,我们无法让对象被修饰为final,而只能修饰对象的引用,这意味着即使你写public final A a = new A()...原创 2018-04-14 14:51:01 · 169 阅读 · 0 评论