![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java基础
javase基础知识,适合初学者
青鸟88
在技术道路上越陷越深
展开
-
枚举类的使用方法
一、理解枚举类型枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。下面先来看看如何写一个枚举?二、枚举的定义语法在没有枚举类型时定义常量常见的方式public class DayDemo { public static final...原创 2019-06-02 11:50:05 · 80495 阅读 · 13 评论 -
java中static关键字的使用说明
1、static关键字的用途 在《Java编程思想》P86页有这样一段话: “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。” 这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简...原创 2019-06-01 23:01:29 · 31081 阅读 · 12 评论 -
java基础之Compareable和Comparator的区别和使用
接口ComparableComparable接口位于java.lang包下,需要重写public int compareTo(T o);我们知道数字是可以用> < == 等运算符进行比较大小的,其实在字符串中也有CompareTo方法,这个方法可以用于比较字符串大小的,根据字典顺序进行排序。Str1.compareTo(Str2);其返回的是一个int类型值。若Str1等于参数...原创 2019-06-23 23:20:28 · 3907 阅读 · 2 评论 -
java基础之集合
什么是集合Java集合类存放于 java.util 包中,是一个用来存放对象的容器。注意:①、集合只能存放对象。比如你存一个 int 型数据 1放入集合中,其实它是自动转换成 Integer 类后存入的,Java中每一种基本类型都有对应的引用类型。②、集合存放的是多个对象的引用,对象本身还是放在堆内存中。③、集合可以存放不同类型,不限数量的数据类型。集合跨架结构图(集合的所有分类)...原创 2019-06-12 07:55:24 · 250 阅读 · 0 评论 -
java基础之利用clone()实现对象的复制
为什要是用clone()方法复制队象,而不是直接用赋值号=在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的我们用代码来解释使用 = 复制队象public class Student{ private ...原创 2019-06-17 10:48:43 · 535 阅读 · 0 评论 -
java基础之泛型
1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实...原创 2019-06-20 18:13:43 · 343 阅读 · 0 评论 -
利用反射和注解实现一个小例子(对理解反射和注解很有帮助)
注解和反射的功能非常的强大,现在的一些开发都是基于注解的,下面我们就来利用注解和反射实现一个小例子,话不多说直接上代码,希望对你有帮助。自己定义的注解@Target({ElementType.TYPE,ElementType.CONSTRUCTOR,ElementType.METHOD,ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME...原创 2019-06-20 17:48:15 · 433 阅读 · 0 评论 -
java基础之注解的理解与应用
一、认识注解注解(Annotation)很重要,现在的开发模式都是基于注解的,JPA是基于注解的,从Spring基于注解的,从Hibernate也是基于注解的,注解是JDK1.5之后才有的新特性JDK1.5之后内部提供的三个注解@Deprecated 意思是“废弃的,过时的”@Override 意思是“重写、覆盖”@SuppressWarnings 意思是“压缩警告”,作用:用于抑制编...原创 2019-06-20 15:10:49 · 196 阅读 · 0 评论 -
利用反射的原理写Spring IOC的小例子
我们都知道Spring的主要功能就是Ioc 反转 和 Aop 面向切面编程 ,IOc 的底层代码就是利用反射来完成的。下面我们就来利用反射技术完成Ioc的底层原理的实现(很简单不要嘲笑)话不多说,直接上代码IocDemo类(根据类的包全名创建类,反射)public class IocDemo { public Object getMyClass(String className) {...原创 2019-06-20 09:55:08 · 151 阅读 · 0 评论 -
java基础之Collections.copy()的使用方法及注意事项
在写上上一篇博客的时候,实验copy()方法的时候,出现了错误,写这一篇博客主要是为了详细的说明一下copy()方法的注意事项。注意事项//第一个参数是目的集合,第二个参数是源集合static <T> void copy(List<? super T> dest, List<? extends T> src) 将所有元素从一个列表复制到另一个列表中。 ...原创 2019-07-14 10:10:28 · 21354 阅读 · 6 评论 -
String、StringBuilder、StringBuffer的理解及使用说明
从源码来理解string类 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char val...原创 2019-06-05 20:28:56 · 1966 阅读 · 0 评论 -
java基础之 Collection 接口和 Collections工具类的区别
Collection接口Collection 的介绍E - 此集合中元素的类型Collection 是集合的顶级父类接口,他有很多的实现类,具体实现类可以参考以下的图片Collection 的一些常用的方法boolean add(E e) 确保此集合包含指定的元素(可选操作)。 boolean addAll(Collection<? extends E> c) ...原创 2019-07-10 22:08:33 · 296 阅读 · 0 评论 -
Java基础之异常处理(try...catch....finally ,throw,throws)
简介程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止?还是输出错误给用户?Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,且保持代码的清晰。Java中的异常可以是函数中的语句执行时引发的,也...原创 2019-07-15 13:39:03 · 6126 阅读 · 1 评论 -
java基础之异常处理(throws和throw 的区别)
一、throws抛出异常throws关键字主要用于方法声明上,自己不做处理,指的是当前方法之中异常后交给被调用处处理;用在方法声明后面,跟的是异常类名可以跟多个异常类名,用逗号隔开表示抛出异常,由该方法的调用者来处理throws表示出现异常的一种可能性,并不一定会发生这些异常实例public class ThrowsTest2{ //因为test();会抛出IOExcep...原创 2019-07-15 16:20:08 · 732 阅读 · 0 评论 -
数据结构与算法之冒泡排序,选择排序,插入排序
直接代码演示public class UnorderArray { private long[] arr; private int nElements; public UnorderArray(int size) { arr = new long[size]; nElements = 0; } // 添加的方法 public void insert(long value)...原创 2019-07-15 18:21:13 · 110 阅读 · 0 评论 -
java基础之System.arraycopy()方法
今天在学习数据结构的时候发现一个很好用的方法,今天来享一下System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length) //将指定源数组中的数组从指定位置复制到目标数组的指定位置。用于对数组的复制很方便,比如,删除数组中的一个元素时,然后这个元素后面的元素都要往前一个,如果没有这个函数,我们就的用循...原创 2019-07-15 20:13:22 · 544 阅读 · 0 评论 -
java基础之抽象类和接口的理解以及之间的区别
一、抽象类什么是抽象类包含抽象方法的类叫做抽象类。如果一个类中含有一个或多个抽象方法,该类必须限定为抽象的。抽象类必须由abstract关键字来限定这个类。定义一个抽象类public abstract class Animal{ public abstract void bark();}抽象类和普通类的区别抽象类并不是只能包含象方抽法,他也可以包含普通的成员方法和成员变量。...原创 2019-07-28 21:26:42 · 132 阅读 · 0 评论 -
javaWeb基础之国际化(i18n)(很详细)
一、国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。 国际化(international...转载 2019-08-12 23:14:36 · 950 阅读 · 0 评论 -
equals和==的理解和使用方法
== 的理解 ==用来判断两个变量是否相等,如果是基本类型,则只要值相等,判断的结果就是true,例如65和‘A’比较,结果就是true。public class Test { public static void main(String[] args) { int a = 65; System.out.println("两个基本类型的比较结果是:" + (a=='A'));...原创 2019-06-03 22:18:16 · 252 阅读 · 0 评论 -
java基础之反射之Field,Method的理解与应用
FieldField提供有关类或接口的单个字段的信息和动态访问。 反射的字段可以是类(静态)字段或实例字段。Field允许在获取或设置访问操作期间扩展转换,但如果发生缩小转换,则抛出IllegalArgumentException 。他也是没有构造方法的主要的方法Object get(Object obj) 返回该所表示的字段的值 Field ,指定的对象上。 int getMo...原创 2019-06-19 17:12:13 · 1181 阅读 · 0 评论 -
java基础之反射以及Class类的使用与理解
如何获得类,利用Class类Class类的类表示正在运行的Java应用程序中的类和接口。获得类的第一种方法Class.forName(String url) //参数是类的包全名获得类的第二种方法对象名.getClass()的方式获得类的第三种方法类名.class()的方式代码演示public class ClassTest { public static void m...原创 2019-06-19 15:22:58 · 239 阅读 · 0 评论 -
Java基础之内部类的使用与理解
1、什么是内部类: 内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类。通过一段代码来理解一下public class OuterClass { private String name ; private int age; public String getName() { return name; } public...原创 2019-06-05 21:16:15 · 120 阅读 · 0 评论 -
java基础之Date、Calender日期工具类
一、 Date类 Date类对象的创建:1、创建一个当前时间的Date对象//创建一个代表系统当前日期的Date对象Date d = new Date();2、创建一个我们指定的时间的Date对象:使用带参数的构造方法Date(int year, int month, int day) ,可以构造指定日期的Date类对象,Date类中年份的参数应该是实际需要**代表的年份减去1900...原创 2019-06-05 22:37:54 · 358 阅读 · 0 评论 -
java日期工具类常用的一些方法的封装。
l、判断是否是闰年 /** * 给定一个年份判断该年份是否为闰年 */ public static boolean isLeapYear(int year) { GregorianCalendar calendar = new GregorianCalendar(); return calendar.isLeapYear(yea...原创 2019-06-05 22:44:53 · 171 阅读 · 0 评论 -
Java基础之Java8的时间工具类Time
java.time包中的是类是不可变且线程安全的。新的时间及日期API位于java.time中,下面是一些关键类●Instant——它代表的是时间戳●LocalDate——不包含具体时间的日期,比如2014-01-14。它可以用来存储生日,周年纪念日,入职日期等。●LocalTime——它代表的是不含日期的时间●LocalDateTime——它包含了日期及时间,不过还是没有偏移信息或者说时...原创 2019-06-06 21:13:46 · 2332 阅读 · 0 评论 -
java中访问权限的使用,public ,protected,default,private
1、他们之间的优先级public>protected>默认类型(default)>private 2、他们之间的区别private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。default:即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只...原创 2019-06-01 17:47:42 · 1595 阅读 · 0 评论 -
java的this关键字的使用和注意事项
一、this关键字的使用说明1、概述this代表它所在函数所属对象的引用。简单说:哪个对象在调用this所在的函数,this就代表哪个对象。2、this关键字主要有三个应用(1)调用本类中的属性,也就是本类的成员变量Public Class Student { String name; //定义一个成员变量name private void SetName(String name...原创 2019-06-01 18:09:05 · 1727 阅读 · 0 评论 -
java中final关键字的使用与理解
1. final关键字的含义final表面意思就是不可更改的,恒量的意思;指的是无法改变的量,这与静态标量static是有区别的,静态变量指的是只有一份存储空间,值是可以改变的。使用final一定原因是出于软件设计的角度,因为别人看到final这个关键字就知道是什么意思,达到心领神会的效果,但也正是由于这种"语义"的存在,在程序设计中要谨慎使用,以免误用。在Java中final修饰的就是常量,...原创 2019-06-08 22:07:23 · 749 阅读 · 0 评论 -
java基础之数组
什么是数组 是存储**同一种数据类型**的的集合,也叫容器; 特点:是数组中每个元素都有索引从0开始;有序 Java的数组是静态的,即当数组被初始化之后,该数组的长度是不可变的 一维数组 数组的定义及赋值方式 ① 第一种定义方式, 定义的同时给赋了初始值, 也是第一种赋值方式: int[] arr = {1,2,3,4,5,6,7,8,9,10}; 其实这是一种连写,本质是是...原创 2019-06-08 10:35:09 · 181 阅读 · 0 评论 -
设计模式之单例模式的讲解与应用
1. 什么是单例模式单例模式指的是在应用整个生命周期内只能存在一个实例。单例模式是一种被广泛使用的设计模式。他有很多好处,能够避免实例对象的重复创建,减少创建实例的系统开销,节省内存。2单例模式的实现1、一个私有的构造方法2、一个私有的静态的当前类的对象作为属性3、一个公共的静态的返回对象的方法3. 单例模式和静态类的区别首先理解一下什么是静态类,静态类就是一个**类里面都是静态方法...原创 2019-06-02 20:52:37 · 306 阅读 · 0 评论 -
java基础之对象创建的内存模型
java的变量分两大类基本数据类型变量和引用类型的变量(1)其中基本数据类型有四类八种boolean byte char short int long double float引用类型变量除了8种基本数据类型的变量,其他变量都是引用类型变量所谓的引用就是持有堆内存中对应对象所在的位置的内存地址!...原创 2019-06-08 11:21:41 · 545 阅读 · 0 评论 -
java基础之数组的常用方法
1、声明数组 //是一种,直接赋值 String [] arr1 = {"小哈","小黑","哼哼"}; //第二种,new出来之后再赋值 String[] arr2= new String[]{"小哈","小黑","哼哼"}; //第三种,规定数组的长度,然后在赋值 String[] arr3 = new String[3]; arr2[0]="小哈"; arr2...原创 2019-06-13 23:05:39 · 222 阅读 · 0 评论 -
java基础之变量初始化顺序
类的初始化当一个类从main入口方法,对于静态变量、静态初始化块、变量、初始化块、构造器,它们的初始化顺序:package cn.bzu.look.dao;public class ClassLoadTest { private static User user = new User(); static { System.out.println("static code block...原创 2019-06-08 22:37:38 · 584 阅读 · 0 评论 -
java基础之java对象和对象的引用
因为小编现在是初学者,看见好的博客就像分享,所以这里在分享一篇java 的对象和对象的引用https://blog.csdn.net/qq_40693828/article/details/81006918转载 2019-06-19 11:04:48 · 117 阅读 · 0 评论 -
java基础之super关键字
.super关键字super主要有两种用法: 1)super.成员变量/super.成员方法; 2)super(parameter1,parameter2…) 第一种用法主要用来在子类中调用父类的同名成员变量或者方法;第二种主要用在子类的构造器中显示地调用父类的构造器,要注意的是,如果是用在子类构造器中,则必须是子类构造器的第一个语句。super和this的区别...原创 2019-06-09 18:23:28 · 135 阅读 · 0 评论 -
java基础之多态
什么是多态说多态前我们首先要知道Java的引用类型变量有两种更细类型:一个是编译时类型,一个是运行时类型。编译时类型由声明这个变量的时候决定的,比如 String a="你好";运行时类型则是由实际赋值给这个变量的对象来决定的。Integer b=1; String a = b;如果编译时类型和运行时类型不一致的时候,就可能出现所谓的多态! 子类类型的对象赋值给父类类型的引用变量!比...原创 2019-06-09 18:32:00 · 221 阅读 · 0 评论 -
java基础之代码块、全局变量、局部变量
一、代码块静态代码块只执行一次,非静态代码块每创建一个实例对象时,就会执行一次。public class Dui { static int age=1;//成员变量被static修饰,则其被所有对象共享。 //非静态数码块 { int age = 1;//无初始值,且不能加访问控制符和static。 System.out.print...原创 2019-08-22 10:51:58 · 2456 阅读 · 0 评论