java基础
斗锋在干嘛
这个作者很懒,什么都没留下…
展开
-
对Thread类的继承、Runable接口的实现,以及线程池的简单理解
一.在java中要想实现多线程,有两种方法,一种是继续Thread类,另外一种是实现Runable接口。对于直接继承Thread的类来说,下面是一个简单的例子: 1.FirstThread继承Thread类class FirstThread extends Thread{public void run() { for(int i = 0;i<100;i++)原创 2015-10-28 11:14:56 · 1004 阅读 · 0 评论 -
递归删除目录下所有文件
删除目录下所有文件,这个只能用递归方法进行。递归,只有遇到出口才会停止递归,出口逻辑一定要找对。 目录下可能有文件或文件夹,文件夹下面还有文件或文件夹,所以使用递归进行便利进行删除。代码如下:import java.util.*;import java.io.File;public class DeleteAll{ public static void main(S原创 2016-02-02 18:12:04 · 384 阅读 · 0 评论 -
增强For循环
普通For循环:int [] a ={1,2,3,4,5};for(int i=0;i<a.length;i++){System.out.println(a[i]);}增强型For循环: for(int element : a){System.out.println(element);}两者效果是一样的,但是增强型For循环更简洁.如下有一个简单的例原创 2016-02-02 18:19:44 · 367 阅读 · 0 评论 -
HashMap和HashTable的区别
一,HashMap是非线程安全,HashTabale是线程安全;二,HashMap的键和值都允许有null值存在,而HashTable不行三,因为线程的安全问题,HashMap效率比HashTable的要高。原创 2016-02-02 18:30:39 · 361 阅读 · 0 评论 -
装饰者模式
装饰者模式:动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。具体实现通过一下几步:1、私有的父类对象2、构造方法对父类对象进行初始化3、重写要装饰的方法并且父类对象调用建一个父类:package com.demo1;public class Man { //相亲 public void xq() { System.out.prin原创 2016-02-04 19:13:37 · 326 阅读 · 0 评论 -
单例设计模式
//懒汉式单例类.在第一次调用的时候实例化自己 public class Singleton { private Singleton() {} private static Singleton single=null; //静态工厂方法 public static Singleton getInstance() { if原创 2016-02-03 23:13:50 · 327 阅读 · 0 评论 -
建造者模式
class Demo{public void onClick(View v) {AlertDialog.Builder builder = new AlertDialog.Builder(this);//this是Activity的对象// 设置对话框的相关信息builder.setTitle("提示")//用建造者模式实现"链式书写".setIcon(R.drawable.ic_launcher原创 2016-02-24 23:07:03 · 305 阅读 · 0 评论 -
静态代理模式
代理模式一般涉及到的角色有 -抽象角色:声明真实对象和代理对象的共同接口 -代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能替代真实对象相同的接口以便在任何时刻都能替代真实对象。同时,代理对象可以再执行真实对象操作时,附加其他的操作,相当于对象真实对象进行封装 -真实角色:代理角色代表的真实对原创 2016-02-24 23:09:12 · 334 阅读 · 0 评论 -
对final数据类型的简单理解
对于一个变量来说,当它被定义为final类型的时候,表示这个变量是不可改变的,也就保证了只会对它赋值一次,试图改变final变量的值,编译时均会报错,因此,声明为final类型的数据类型通常被认为是不可变的数据类型。存在一种情况,“会使这种不可变数据类型被改变”。Java中新建一个类的对象通常是通过引用来实现的,这种引用会造成.“ 引用不变,但是引用所指向的值发生了改变”这种情况而编译时不会报...原创 2018-08-10 14:32:01 · 1353 阅读 · 0 评论 -
水仙花数
所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153= 1的三次方+5的三次方+3的三次方。解题思路:首先要知道水仙花数是一个三位数,我们要获得这三位数的百位、十位、个位,然后再进行判断。 这里用到的Math类里面的 pow(double a , double b) 方法,获得a的b次方幂的值,这里要注意pow()方法返回的值原创 2016-02-02 18:08:48 · 340 阅读 · 0 评论 -
判断是否为回文数
输入一个数,判断它是不是回文数。即12321是回文数,2222、 11211也是回文数,即对称的数字。代码如下:import java.util.*;public class Work24{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); System.out原创 2016-02-02 18:06:48 · 622 阅读 · 0 评论 -
对final数据类型的简单理解
对于一个变量来说,当它被定义为final类型的时候,表示这个变量是不可改变的,也就保证了只会对它赋值一次,试图改变final变量的值,编译时均会报错,因此,声明为final类型的数据类型通常被认为是不可变的数据类型。 存在一种情况,会使这种不可变数据类型被改变。Java中新建一个类的对象通常是通过引用来实现的,这种引用会造成.“ 引用不变,但是引用所指向的值发生了改变”这种情况而编译时不会报错,所原创 2015-10-25 20:02:34 · 957 阅读 · 0 评论 -
理解sychronized针对的是对象而非语句或者方法
1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。 synchronized 方法控制对类成员变量的访问:每个类实例对应一把锁,每个 synchronized 方法都必须获得调用该方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方法返回时才将锁释放,此后被阻塞的线程方能获得该锁,重新原创 2015-10-29 14:11:01 · 371 阅读 · 0 评论 -
个人对hashCode与equals的区别与联系简单理解
一.首先equals()和hashcode()这两个方法都是从object类中继承过来的。 equals()方法在object类中定义如下:public boolean equals(Object obj) { return (this == obj); } 很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们必需清楚,当String 、Math、Intege原创 2015-10-29 14:56:26 · 1677 阅读 · 0 评论 -
hashCode与equals的区别与联系
一、equals方法的作用 1、默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一个地址(是不是同一个对象)。2 、要是类中覆盖了equals方法,那么就要根据具体的代码来确定equals方法的作用了,覆盖后一般都是通过对象的内容是否相等来判断对象是否相转载 2015-10-29 14:24:37 · 504 阅读 · 0 评论 -
Java中重载和重写的区别
重载 overloading1) 方法重载是让类以统一的方式处理不同类型数据的一种手段。多个同名函数同时存在,具有不同的参数个数/类型。重载是一个类中多态性的一种表现。2) Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同参数个数和参数类型给它们的不同参数个数和参数类型给它们的不同参数个数和参数类型来决定具体使转载 2015-12-04 21:11:51 · 307 阅读 · 0 评论 -
匿名内部类精讲
匿名内部类适合创建那种只需要一次使用的类,例如命令模式时所需要的Command对象。匿名内部类的语法有点奇怪,创建匿名内部类时会立即创建一个该类的实例,这个类定义立即消失,匿名内部类不能重复使用。 定义匿名内部类的格式如下:[java] view plain copynew 父类构造器(参数列表)|实现接口() { //匿名内转载 2016-02-13 23:20:45 · 249 阅读 · 0 评论 -
输入两个数,求最大公约数和最小公倍数
首先要知道这两点:1. A,B的最大公约数取值范围:大于零,小于AB之间最小数;2. A,B的最小公倍数取值范围:大于AB之间最大数,小于或等于A*B。.代码如下:import java.util.*;public class Work23{ public static void main(String[] args){ Scanner scan = new Sc原创 2016-02-02 17:55:54 · 1232 阅读 · 0 评论 -
斐波那契数列的前n项
菲波那契数列的格式如下:1 1 2 3 5 8 13……满足:1. 前两项为 12. 前两项的和等于第三项在这里我们用到了 递归算法:递归:自己调用自己 肯定有自己的出口不然就死循环了递归的特点:优点:思路清晰 缺点:效率低代码如下:import java.util.*;public class Work21{原创 2016-02-02 18:03:34 · 1394 阅读 · 0 评论 -
面向对象的5个基本设计原则
面向对象的5个基本设计原则:单一职责原则(Single-Resposibility Principle) 其核心思想为:一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。职责过多,可能引起它变化的原因就越多,这将导致职责依赖,相互之间就产生影响,从而大大损伤其内聚性和...转载 2018-08-10 14:33:43 · 204 阅读 · 0 评论