![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
L-study
互联网海洋
展开
-
String字符串常用方法总结
通过跑main方法来加深String印象//String类为不可变字符序列//String类内部实质是数组private final char value[];//字符串+数字返回仍是字符串//new String的构造对象比直接赋值对象多创建一个对象,通过内存分析可得public class TestString { public static void main(String[]原创 2017-06-28 16:44:07 · 299 阅读 · 0 评论 -
泛型的抽象继承与接口实现注意点
抽象继承:/** * 父类为泛型类 * 1.属性 * 2.方法 * 要么同时擦除,要么子类大于等于父类的类型 * 不能子类擦除,父类泛型 * 继承有两种,子类为泛型或子类不为泛型 * 子类不为泛型则具体定义T,T1 * * 属性类型: * 父类中,随父类而定 * 子类中,随子类而定 * 方法重写: * 随父类而定 * @author Adm原创 2017-07-04 17:29:49 · 8835 阅读 · 1 评论 -
找出字符串中特定字符出现的次数的实现(分拣思路)
通过HashMap和Set接口实现public class Letter { private String name; private int count; public Letter(){ } public Letter(String name, int count) { super(); this.name = name;原创 2017-07-04 19:46:06 · 520 阅读 · 0 评论 -
工具类Collections常用方法
import java.util.ArrayList;import java.util.Collections;import java.util.List;/** * 1.使用二分搜索法搜索指定列表,以获得指定对象 * binarySearch(List<? extends Comparable<? super T>> list, T key) 容器要有序 * * 2.sort(Lis原创 2017-07-05 10:00:15 · 245 阅读 · 0 评论 -
Enumeration子类的实现调用
活学活用,直接上代码:.import java.util.StringTokenizer;/** * Enumeration子类 * StringTokenizer:String spilt()字符串分隔连用 * 不支持正则表达式 * * StringTokenizer(String str, String delim) * @author Administrator * */p原创 2017-07-05 10:40:14 · 268 阅读 · 0 评论 -
Hashtable与Properties
HashMap和Hashtable的区别如下:Hashtable线程安全,同步,效率相对低下。而HashMap线程不安全,非同步,效率相对较高。Hashtable的父类是Dictionary。HashMap的父类是AbstractMapnull:Hashtable键与值不能为null。HashMap键最多一个null,值可以多个nullProperties的作用是读写资源配置文件,它要求键与原创 2017-07-05 16:04:25 · 991 阅读 · 0 评论 -
Java重载的分析与注意点
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。 调用时,会根据不同的参数表选择对应的方法两同三不同1.同一个类,同一个方法名 2.参数列表不同(类型,顺序,个数的不同)只有形参的名称不同,不构成方法的重载与普通方法一样,构造方法也可以重载方法名和参数一样,但返回类型不同也不构成重载原创 2017-06-27 17:07:45 · 225 阅读 · 0 评论 -
Java内存简单分析
栈:自动分配连续的空间;后进先出;一般放置局部变量;堆:不连续;放置new出的对象方法区:位于堆之内;放置:类的信息(代码)、static变量和常量池(字符串常量)等;程序执行顺序:从main方法开始,如果一开始就是对象的生成,则先找生成对象的类,在方法区找,没有则加载类的信息,存放在方法区。有:代码(属性、方法)、static变量和常量池等;生成的对象的引用存放在栈中(局部变量),比如Peop原创 2017-06-27 16:53:18 · 173 阅读 · 0 评论 -
Java继承浅析思考
java三大特性:继承封装多态类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。有利于提高代码的复用,关键词是extends,只支持单继承。 简单说:我继承了你,你的就是我的,我的还是我的如果定义了一个类,没有调用extends,则它的父类是java.lang.Object在子类中可以根据需要对基类中继承来的方法进行重写。 重写必须和被重写方法具有相同方法名称、参数原创 2017-06-27 18:35:40 · 146 阅读 · 0 评论 -
Java多态浅析
多态性是用来实现动态联编的,也就是说,程序的最终状态只有在执行过程中才被决定而非在编译期间就决定了。 有利于提供系统的灵活性和扩展性 Java实现多态方式:引用变量的两种类型: 编译时类型(一般就是一个父类)运行时类型(运行时,具体是哪个子类就是哪个子类)多态存在的3个必要条件:要有继承要有方法重写父类引用指向子类对象(向上转型) instance of 为判断是否是该类对象:原创 2017-06-27 19:46:34 · 191 阅读 · 0 评论 -
Java回调学习
Java的回调,又名Callback或者hook,前提应用的是Java的多态小例子:class Animals{ void bark(){ System.out.println("叫声"); }}class Dog extends Animals{ void bark(){ System.out.println("汪汪汪");原创 2017-06-27 20:11:05 · 301 阅读 · 0 评论 -
Java中抽象类与接口的注意要点
抽象类与接口,对于其中的一些规定如果不是很清楚则会常常造成程序编译不通过的现象。所以,特意整理一下关于抽象与接口的注意地方。我们需要知道的:抽象类是不能生成对象的抽象类中的方法可以是抽象方法(没有方法体),也可以是具体方法(有具体方法体)必须为抽象父类中的所有的抽象方法进行具体定义重写对于抽象父类中的非抽象方法可以不用重写接口中所有方法均是抽象方法,且默认修饰符是public小例子来具体原创 2017-06-25 14:38:04 · 398 阅读 · 0 评论 -
enum初探
enum关键字是Java se5中添加的一个特性,它使得我们在需要群组并使用枚举类型集时,可以更加方便的处理。这里,简单的对enum的用法进行分析。简单的例子: enum Sp{ ks,fsf,fsfsf } public class Sim { Sp t; Sim(Sp t){ this.t=t;原创 2017-06-25 14:02:35 · 185 阅读 · 0 评论 -
泛型类、泛型接口和泛型方法的使用定义
泛型类:/** * 1.泛型类:声明时使用泛型 * 2.字母: * T Type表示类型 * K V 分别代表键值中的Key Value * E 代表Element * 使用时确定类型 * 注意: * 泛型只能使用引用类型,不能基本类型 * 泛型声明时字母不能使用静态属性|静态方法上 * @auth原创 2017-07-04 16:26:23 · 2952 阅读 · 0 评论 -
String、StringBuilder和StringBuffer
String是不可变字符序列 StringBuilder和StringBuffer是可变字符序列,两者区别是前者线程不安全,效率高,后者线程安全效率低;两者都继承抽象类AbstractStringBuilderStingBuilder的构造建立的是长度为16+1的数组,若容量不足,扩容2倍+2,迭代扩容那么,为什么说String对象是不可变的?因为,每次对String对象进行改变操作时,其实都是等原创 2017-06-28 17:54:41 · 186 阅读 · 0 评论 -
冒泡排序、二分法查找基于Java的简单实现
1.冒泡排序:在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。一个数比完,再开始另一个数代码:import java.util.Arrays;public class Demo2 { public static void main(Stri原创 2017-06-29 20:16:17 · 450 阅读 · 0 评论 -
Java自动装箱拆箱注意点
public class Test01 { public static void main(String[] args) { Integer d=1234; Integer d1=1234; System.out.println(d==d1); System.out.println(d.equals(d1)); Sy原创 2017-06-29 21:21:50 · 182 阅读 · 0 评论 -
日期类的综合运用——可视化日历小程序
程序功能:输入日期可以打印出当月日历代码:import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalenda原创 2017-06-30 14:00:49 · 681 阅读 · 0 评论 -
Java中异常的抛出原则
主要的是方法重写,即子类继承父类的方法,抛出的异常注意点:父类没有声明异常,子类也不能不可抛出原有方法异常类的父类或上层类抛出的异常类型的数目(类型)不可比原有的方法抛出的还多(不是指个数)import java.io.FileNotFoundException;import java.io.IOException;import java.text.ParseException;clas原创 2017-06-30 16:58:42 · 2065 阅读 · 0 评论 -
default方法的探究
default方法是在接口中使用,其意义是可以在接口方法内定义方法体,通过写一个简单的Demo来学习它的用法 interface M{ void draw(); default void play(){ //default方法可以在接口中定义方法体 System.out.println("哈哈"); } }原创 2017-07-01 10:54:36 · 904 阅读 · 0 评论 -
Java与垃圾回收技术类型的学习思考
Java垃圾回收牢记3要点: 1. 对象可能不被垃圾回收。 2. 垃圾回收并不等于“析构”。 3. 垃圾回收只与内存有关。 使用垃圾回收器的唯一原因是为了回收程序不再使用的内存。垃圾回收器与Java堆的关系: 1. 在某些Java虚拟机中,堆的实现像传送带一样(并不完全),每分配一个新对象,它就往前移动一格; 2. 而在内存即将耗尽时,由于垃原创 2017-06-23 16:10:30 · 305 阅读 · 0 评论 -
ArrayList的简单实现(手写)
对着源码改的,还有一些方法没有添加,后续有时间再实现直接上代码:/** * 1.ArrayList的简单实现(手写) * 2.包括以下方法: * int size(); * MyArrayList(); * MyArrayList(int initialCapacity); * boo原创 2017-07-03 18:15:05 · 3499 阅读 · 0 评论 -
LinkedList的简单实现(手写)
LinkedList的底层是基于链表实现的,所以查询慢,增删改快,但是线程不安全,效率较高。代码:/** * 1.LinkedList的简单实现 * 2.后续有时间会逐步添加方法 * 3.实现的方法有: * void add(Object obj) * void add(int index,Object obj) *原创 2017-07-04 09:25:42 · 3439 阅读 · 1 评论 -
关于Java中静态数据的初始化时间和顺序的学习思考
最近重新复习了Java中静态数据的初始化问题,包括何时初始化以及初始化的顺序问题。首先,我们要明确的是静态数据 的含义。静态数据的关键字是static,当声明一个一个事物是static时,就意味着这个域或者方法不会与包含他那个类的任何对象实例关联在一起。也就是意味着,你可以直接通过类名来直接访问,而不用创建一个对象,再来访问。这里,我们有需要注意的地方:如果static和private连用,在类里原创 2017-06-24 15:41:33 · 979 阅读 · 0 评论 -
File打印目录(打印指定后缀目录)
import java.io.File;/** * 输出子孙级目录|文件的名称(绝对路径) * 1.listFiles(); * 2.递归; * @author Administrator * */public class Demoo { public static void main(String[] args) { String path="E:/Demo1原创 2017-07-07 17:34:26 · 428 阅读 · 0 评论